이것이 자바다 - Chapter 4

윤여준·2022년 5월 8일
0
post-thumbnail

조건문

if문

if문은 조건식의 결과에 따라 블록 실행 여부가 결정된다. 조건식에는 true 또는 false 값을 산출할 수 있는 연산식이나, boolean 변수가 올 수 있다. 조건식이 true이면 블록을 실행하고 false이면 블록을 실행하지 않는다.

if (조건식) {
	실행문;	// 조건식이 true일 경우 실행
    실행문;
    ...
}

if-else문

if문은 else 블록과 함께 쓰일 수 있는데, if문의 조건식이 true이면 if문의 블록이 실행되고, 조건식이 false이면 else 블록이 실행된다. 조건식의 결과에 따라 두 블록 중 한 블록의 내용만 실행하고 전체 if문을 벗어나게 된다.

if (조건식) {
	실행문;	// 조건식이 true일 경우 실행
    실행문;
    ...
} else {
	실행문;	// 조건식이 false일 경우 실행
    실행문;
    ...
}

if-else if-else문

조건문이 여러 개인 if문도 있다. 처음 if문의 조건식이 false일 경우 다음 조건식으로 넘어가서 true인지 false인지 체크 후 실행 블록을 결정한다. 이는 if 블록 끝에 else if문을 붙이면 된다. else if문의 수는 제한이 없고, 여러 개의 조건식 중 true가 되는 블록만 실행하고 전체 if문을 벗어나게 된다. else if 블록의 마지막에는 else 블록을 추가할 수 있는데, 모든 조건시깅 false일 경우 else 블록을 실행하고 if문을 벗어나게 된다.

if (조건식1) {
	조건식1true 일 경우 실행
} else if (조건식2) {
	조건식2true 일 경우 실행
} else {
	조건식1 및 조건식2false 일 경우 실행
}

중첩 if문

if문의 블록 내부에는 또 다른 if문을 사용할 수 있다. 이것을 중첩 if문이라고 부르는데, 중첩의 단계는 제한이 없다.

if문만 중첩이 되는 것으 아니고, if문, switch문, for문, while문, do-while문은 서로 중첩시킬 수 있다.

switch문

switch문은 변수가 어떤 값을 갖느냐에 따라 실행문이 선택된다.

switch(변수) {
	case1:
    	변수가 값1일 경우 실행
        break;
    case2:
    	변수가 값2일 경우 실행
        break;
    default:
    	변수가 값1,2 모두 아닐 경우 실행
}

case 끝에 break가 없으면 다음 case가 연달아 실행되는데, 이때에는 case 값과는 상관없이 실행된다.

char 타입 변수도 switch문에 사용될 수 있다.

자바 7부터는 String 타입의 변수도 switch문에 사용될 수 있다.

반복문

반복문은 어떤 작업이 반복적으로 실행되도록 할 때 사용된다.

for문

for문주어진 횟수만큼 실행문을 반복 실행할 때 적합한 반복 제어문이다.

for(초기화식; 조건식; 증감식) {
	실행문;
}

for문이 처음 실행될 때 초기화식이 제일 먼저 실행된다. 그런 다음 조건식을 평가해서 true이면 실행문을 실행시키고, false이면 for문 블록을 실행하지 않고 끝나게 된다. 블록 내부의 실행문들이 모두 실행되면 증감식을 실행시키고 다시 조건식을 평가하게 된다. 평가 결과가 true이면 앞의 과정을 다시 진행하고, false이면 for문이 끝나게 된다.

while문

for문이 정해진 횟수만큼 반복한다면, while문은 조건식이 true일 경우에 계속해서 반복한다. 조건식에는 비교 또는 논리 연산식이 주로 오는데, 조건식이 false가 되면 반복 행위를 멈추고 while문을 종료한다.

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

while문이 처음 실행될 때 조건식을 평가한다. 평가 결과가 true이면 실행문을 실행한다. 실행문이 모두 실행되면 다시 조건식으로 되돌아서 조건식을 다시 평가한다. 만약 조건식이 true라면 앞의 과정을 다시 진행하고, false라면 while문을 종료한다.

do-while

do-while문은 조건식에 의해 반복 실행한다는 점에서는 while문과 동일하다. while문은 시작할 때부터 조건식을 검사하여 블록 내부를 실행할지 결정하지만, 경우에 따라서는 블록 내부의 실행문을 우선 실행시키고 실행 결과에 따라서 반복 실행을 계속할지 결정하는 경우도 발생한다. 이때 do-while문을 사용할 수 있다.

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

do-while문의 while() 뒤에는 반드시 세미콜론을 붙여야 한다.

do-while문이 처음 실행될 때 실행문을 우선 실행한다. 실행문이 모두 실행되면 조건식을 평가하는데, 그 결과가 true이면 실행문 -> 조건식과 같이 반복 실행을 하고, 조건식의 결과가 false이면 do-while문을 종료한다.

break문

break문은 반복문인 for문, while문, do-while문을 실행 중지할 때 사용된다.또한 switch문에서도 break문을 사용하여 switch문을 종료한다.

다음과 같이 중첩된 반복문에서 바깥쪽 반복문까지 종료시키려면 바깥쪽 반복문에 이름(라벨)을 붙이고, "break 이름;"을 사용하면 된다.

public static void main(String[] args) {
	Outter:for(int i = 0; i < 10; i++){
    	for(int j = 0; j < 10; j++){
        	System.out.println(i,j);
        	if(j == 5) {
            	break Outter;
            }
        }
    }
}

continue문

continue문은 반복문인 for문, while문, do-while문에서만 사용되는데, 블록 내부에서 continue문이 실행되면 for문의 증감식 또는 while문, do-while문의 조건식으로 이동한다. continue문은 반복문을 종료하지 않고 계속 반복을 수행한다는 점이 break문과 다르다.

profile
Junior Backend Engineer

0개의 댓글