Java 조건문과 반복문: if, switch, for, while 그리고 break와 continue

프로그래밍에서 조건문과 반복문은 논리적 흐름을 제어하는 문법입니다. 조건문으로 if, switch반복문으로 for, while, do-while 가 있습니다.

 

조건문

1. if문

if문은 주어진 조건이 true일 때만 실행되는 가장 기본적인 조건문입니다.

int age = 20;
if (age >= 18) {
	System.out.println("성인입니다.");
}

 

2. if-else문

if문과 함께 else를 사용하면, 조건이 false일 때 실행할 코드도 지정할 수 있습니다.

int age = 10;
if (age >= 18) {
    System.out.println("성인입니다.");
} else {
    System.out.println("미성년자입니다.");
}

 

3. if-else if문

if-else if문은 여러 조건을 검사할 때 사용합니다.

int age = 10;
if (age >= 65) {
    System.out.println("노약자입니다.");
} else if (age >= 18) {
    System.out.println("성인입니다.");
} else {
    System.out.println("미성년자입니다.");
}

 

4. switch 문

swtich문은 하나의 변수를 기준으로 다양한 경우에 대한 분기 처리를 할 수 있습니다. if-else if문과 유사하지만, 주로 특정 값에 따라 처리할 때 사용됩니다. 만약 조건이 3개 이상인 경우 switch문을 사용하는 것이 가독성에 좋을 수 있습니다.

String weekDay = "mon";
switch (weekDay) {
    case "mon":
        System.out.println("월요일");
        break;
    case "tue":
        System.out.println("화요일");
        break;
    case "wed":
        System.out.println("수요일");
        break;
    case "thu":
        System.out.println("수요일");
        break;
    case "fri":
        System.out.println("수요일");
        break;
    case "sat":
    case "sun":
        System.out.println("주말");
        break;
    default:
        System.out.println("알 수 없는 요일");
}

변수 weekDay가 "mon"이므로 "월요일"이 출력됩니다. break 키워드를 만나면 더 이상 다른 case를 실행하지 않고 빠져나옵니다. 만약 변수 weekDay에 "sat"가 들어가면 "주말"이 출력됩니다.

 

 

반복문

1. for문

for문은 반복 횟수가 정해져 있을 때 많이 사용됩니다. 초기값, 조건, 증감식을 한 줄에 모두 선언할 수 있어 간결한 반복을 구현할 수 있습니다.

for (int i = 0; i < 5; i++) {
    System.out.println("반복 횟수: " + i);
}

 

위 코드는 i가 0부터 4까지 5번 반복하면서 "반복 횟수: "뒤에 i값을 출력합니다.

 

2. while문

while문은 조건이 true인 동안 계속해서 코드를 반복합니다.

int i = 0;
while (i < 5) {
    System.out.println("i의 값: " + i);
    i++;
}

i가 5가 될 때까지 반복하며, "i의 값: "뒤에 i값을 출력합니다.

 

3. do-while문

do-while문은 최소 한 번은 반드시 실행되는 반복문입니다. 조건을 나중에 검사하기 때문에 처음은 무조건 한 번 실행됩니다.

int i = 0;
do {
    System.out.println("i의 값: " + i);
    ++i;
} while (i < 1);

i가 1이 될 때까지 반복하며, do 블록 안의 코드를 실행합니다. 위 코드는 "i의 값: 0"을 출력하고, 조건문을 만나서 코드가 실행되지 않습니다.

 

 

반복 제어문: break와 continue

1. break문

break문은 반복문을 즉시 종료시키고, 반복문 밖으로 빠져나가도록 합니다.

for (int i = 0; i < 10; i++) {
    if (i == 5) {
        break;  // i가 5일 때 반복문 종료
    }
    System.out.println("i의 값: " + i);
}

i가 5가 되는 순간 반복문이 종료되고, 그 이후의 반복은 실행되지 않습니다. switch문에서의 break문과 같습니다.

 

2. continue문

continue문은 반복문 안에서 현재 반복을 건너뛰고 다음 반복을 실행하도록 합니다.

for (int i = 0; i < 10; i++) {
    if (i == 5) {
        continue;  // i가 5일 때 그 회차는 건너뜀
    }
    System.out.println("i의 값: " + i);
}

i가 5일때 continue가 실행되면 "i의 값: 5"는 출력되지 않고, 나머지들은 출력됩니다.