본문 바로가기
Back-End/Java

Java 반복문: do-while, break, continue를 활용한 실전 예제

by 두두리안 2024. 10. 16.
728x90

이번 포스팅에서는 Java에서 자주 사용하는 반복문인 do-while 문과 break, continue 구문을 중심으로 다뤄보겠습니다. 각각의 문법을 실제 코드 예제와 함께 설명하고, 어떻게 활용할 수 있는지 알아보겠습니다.

1. do-while 문

do-while 문은 일반적인 while 문과 비슷하지만, 차이점은 조건에 상관없이 코드 블럭을 최소 한 번은 실행한다는 것입니다.

do-while 문 구조

do {
    // 실행할 코드
} while (조건식);

즉, 조건이 거짓이더라도 처음 한 번은 무조건 실행됩니다. 먼저 while 문과 비교해보겠습니다.

while 문 예제

package loop;
public class DoWhile1 {
    public static void main(String[] args) {
        int i = 10;
        while (i < 3) {
            System.out.println("현재 숫자는: " + i);
            i++;
        }
    }
}

위 코드에서는 i가 10이므로 while (i < 3) 조건식이 처음부터 거짓입니다. 그래서 아무것도 출력되지 않습니다.

출력 결과

// 출력 없음

do-while 문 예제

package loop;
public class DoWhile2 {
    public static void main(String[] args) {
        int i = 10;
        do {
            System.out.println("현재 숫자는: " + i);
            i++;
        } while (i < 3);
    }
}

do-while 문을 사용하면, 조건식이 거짓이더라도 먼저 코드 블럭을 한 번 실행합니다.

출력 결과

현재 숫자는: 10

코드 블럭을 실행한 후, i=11이 되어 while (i < 3) 조건은 거짓이 되므로 반복문을 빠져나옵니다.

2. break와 continue

Java의 반복문에서 자주 사용되는 두 가지 제어문이 있습니다: break와 continue. 이 두 가지는 반복문 내에서 특정 조건을 만족할 때 흐름을 제어하는 데 유용합니다.

break 구문

break는 반복문을 즉시 종료하고 반복문 밖으로 빠져나갑니다.

break 구문 예제

while (조건식) {
    // 실행할 코드 1
    // 실행할 코드 2
    break; // 즉시 while문을 종료하고 나감
}
// while문 종료 후 실행되는 코드

예제: 합계가 10보다 큰 최초의 값 찾기

package loop;
public class Break1 {
    public static void main(String[] args) {
        int sum = 0;
        int i = 1;
        while (true) {
            sum += i;
            if (sum > 10) {
                System.out.println("합이 10보다 큼: i=" + i + " sum=" + sum);
                break;
            }
            i++;
        }
    }
}

이 코드는 합계가 10보다 커지는 최초의 값을 찾고, 그 값이 나오면 break를 통해 반복문을 종료합니다.

출력 결과

합이 10보다 큼: i=5 sum=15

3. continue 구문

continue는 반복문 내에서 특정 조건을 만족하면 남은 코드를 건너뛰고 다음 반복으로 넘어가게 합니다.

continue 구문 예제

while (조건식) {
    // 실행할 코드 1
    if (조건식) {
        continue; // 아래 코드를 건너뛰고 다시 조건식으로 이동
    }
    // 실행할 코드 2
}

예제: 1부터 5까지 출력하면서 3은 건너뛰기

package loop;
public class Continue1 {
    public static void main(String[] args) {
        int i = 1;
        while (i <= 5) {
            if (i == 3) {
                i++;
                continue;
            }
            System.out.println(i);
            i++;
        }
    }
}

위 코드에서 i가 3일 때 continue가 실행되어 출력되지 않고, 바로 다음 반복으로 넘어갑니다.

출력 결과

1
2
4
5

4. for문과 while문 비교

for문과 while문은 둘 다 반복문이지만, for문은 주로 반복 횟수가 정해진 경우에 사용됩니다. for문은 반복을 위한 초기식, 조건식, 증감식을 한 줄에 넣어 깔끔하게 표현할 수 있습니다.

for문 구조

for (초기식; 조건식; 증감식) {
    // 실행할 코드
}

예제: 1부터 10까지 출력하기

for (int i = 1; i <= 10; i++) {
    System.out.println(i);
}

이 예제는 i가 1부터 10까지 증가하면서 값을 출력합니다.

출력 결과

1
2
3
...
10

for문 vs while문 비교

for문은 반복 횟수가 명확할 때 더 간결하게 코드를 작성할 수 있습니다. 반면, while문은 조건식만으로 반복을 제어하기 때문에 조건이 명확하지 않은 경우에도 사용할 수 있습니다.

결론

이번 포스팅에서는 do-while 문, break, continue의 사용법과 for문과 while문의 차이점을 알아보았습니다. Java의 반복문을 적절히 활용하면 코드의 효율성을 높일 수 있습니다. 여러분도 각 문법을 실습해보면서 더 익숙해지길 바랍니다!

 

참고

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

728x90