Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

자바(Java) while 루프 vs do-while 루프: 핵심 차이점 완벽 정리

자바의 while 루프는 각 반복(iteration)이 시작되기 전에 루프 지속 조건을 먼저 검사한 후, 조건이 참일 때 하나 이상의 문장을 실행합니다. 반면 do-while 루프는 첫 번째 반복을 실행한 이후에 루프 지속 조건을 검사합니다.

따라서 두 루프의 가장 중요한 차이점은 다음과 같습니다.

  • while 루프: 조건이 처음부터 거짓(false)이면 루프 본문이 한 번도 실행되지 않을 수 있습니다.
  • do-while 루프: 조건 검사가 뒤에 있으므로, 조건과 관계없이 루프 본문이 최소 한 번은 반드시 실행됩니다.

예제 코드

public class WhileAndDoWhileLoop {
    public static void main(String args[]) {
        int i = 5;
        System.out.println("Test while Loop:");
        while(i < 5) {
            System.out.println("Iteration: " + ++i);
        }
        System.out.println("Test do-while Loop:");
        i = 5;
        do {
            System.out.println("Iteration: " + ++i);
        } while(i < 5);
    }
}

위 예제에서 변수 i는 5로 초기화되어 있고, 두 루프 모두 i < 5를 조건으로 사용합니다.

  • while 루프는 반복 시작 전에 i < 5(즉, 5 < 5)를 검사하므로 거짓이 되어 루프 본문이 단 한 번도 실행되지 않습니다.
  • do-while 루프는 본문을 먼저 실행한 뒤 조건을 검사하기 때문에, i가 6으로 증가한 상태로 본문이 정확히 한 번 실행됩니다.

실행 결과

Test while Loop:
Test do-while Loop:
Iteration: 6

정리

조건을 만족하지 않아도 로직을 최소 한 번은 실행해야 하는 경우(예: 사용자 입력 메뉴 처리)에는 do-while 루프가 적합하고, 조건을 먼저 확인한 후 실행 여부를 결정해야 하는 일반적인 경우에는 while 루프를 사용하는 것이 좋습니다.