본문 바로가기
JAVA

제어문

by e-pd 2020. 12. 5.

https://github.com/whiteship/live-study/issues/4

선택문 

  • IF문
if (조건식1) {
	조건식1이 참
} else if (조건식2) {
	조건식1이 거짓, 조건식 2가 참
} else {
	조건식 1과 조건식 2가 거짓
}
if (조건식1) {
	if (조건식2) {
    	조건식1이 참, 조건식2가 참
    }
}

 

  • SWITCH문

: 변수의 값에 따라 문장을 실해하는 제어문

(JAVA7 이전에는 정수타입의 변수만 가능)

switch(변수) {
	case 값1 : 
    		실행문;
        	break;
	case 값2 : 
    		실행문;
        	break; 
	case 값3 : 
    		실행문;
        	break;
    default;
}

fall-through

:case안에 break를 생략하면 swtich문의 아래 코드를 계속 실행 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
String person = "Children";
 
        switch (person) {
            case "Children":
                System.out.println("입장요금 : 1000원");
                break;
            case "Adult":
                System.out.println("입장요금 : 2000원");
                break;
            default:
                System.out.println("error");
                break;
}
cs

 

반복문

for 문

  • 초기화식 : 최초 한번만 실행
  • 조건식 : 조건식이 true면 실행, false일 경우 빠져나감
  • 증감식: 조건식 수행후 증감식 수행
for (초기화식; 조건식; 증감식) {
	실행문;
}

 

 

1
2
3
4
5
6
public static void main( String[] args) {
        // 1부터 10까지 출력
        for (int i = 1; i <= 10; i++) {
            System.out.println(i);
        }
    }
cs

 

foreach 스타일 for문

: 어떤 컬렉션이든 순회할 수 있음

 

Effetive java - item 46 : for문보다는 for-each를 사용하라

for-each문은 반복자나 인덱스 변수를 제거해 오류 가능성을 줄인다

1
2
3
4
5
6
public static void main( String[] args) {
        int[] nums = {1,2,3,4,5};
        for (int num : nums) {
            System.out.println(num);
        }
    }
cs

 

while

조건이 true일 동안 반복하여 실행문을 실행

while(조건문){
    실행문; 
}

 

do while

while의 경우, 조건이 true가 아니라면 실행되지 않지만, do while의 경우 최소 1번 이상 실행한뒤 조건을 확인하여 반복한다.

do{
        실행문;
}while(조건문);

 

Enumeration 

  • 초기 Collection만 지원
  • Snap-shot : 원본과 달리 사본을 남겨처리. 다른 처리가 발생하면 오류 가능성 생김
  • hasMoreElements(), nextElement()
1
2
3
4
5
6
Vector<Integer> vector = new Vector<>(Arrays.asList(1,2,3));
        Enumeration elements = vector.elements();
        while (elements.hasMoreElements()) {
            int e = (int)elements.nextElement();
            System.out.println(e);
        }
cs

 

Iterator

  • 모든 Collection 지원
  • enumeration에 비해 빠르다.
  • hasNext(), next(), remove()
1
2
3
4
5
6
public static void main( String[] args) {
        Iterator<Integer> iterator = Arrays.asList(123).iterator();
        while (iterator.hasNext()) {
            Integer number = iterator.next();
        }
    }
cs

 

'JAVA' 카테고리의 다른 글

Java 코딩의 기술-3  (0) 2020.12.05
JUnit5  (0) 2020.12.05
연산자  (0) 2020.11.22
자바 데이터 타입, 변수 그리고 배열  (0) 2020.11.17
JVM은 무엇이며 자바 코드는 어떻게 실행하는 것인가  (0) 2020.11.17