Responsive Advertisement

Java Do/While Loop: 조건 후 실행되는 반복문

Java의 Do/While 문은 조건문이 false라도 최소 한 번은 코드를 실행하도록 보장하는 반복문입니다. 이 구조는 사용자 입력 처리나 특정 작업을 최소 한 번 실행해야 할 때 매우 유용합니다. 이번 글에서는 Do/While 문법활용 예제, 그리고 주의할 점을 다뤄보겠습니다.

1. Do/While 문 기본 구조

Do/While 문은 while 문과 유사하지만, 조건 평가 전에 코드 블록을 먼저 실행합니다. 즉, 조건식이 false여도 코드 블록이 최소 한 번은 실행됩니다.

Do/While 문법

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

예제: 기본 Do/While 문

public class DoWhileExample {
    public static void main(String[] args) {
        int count = 0;

        do {
            System.out.println("카운트: " + count);
            count++;
        } while (count < 5);
    }
}

출력 결과:

카운트: 0
카운트: 1
카운트: 2
카운트: 3
카운트: 4

위 코드에서 count가 0부터 4까지 출력된 후, 조건이 false가 되어 반복이 종료됩니다.

2. Do/While 문 활용

Do/While 문은 특정 작업을 최소 한 번 실행해야 하는 상황에서 특히 유용합니다. 아래는 실용적인 활용 사례를 다룬 예제입니다.

2.1 사용자 입력 반복 처리

사용자가 올바른 입력값을 제공할 때까지 반복적으로 요청하는 상황에 유용합니다.

import java.util.Scanner;

public class UserInputExample {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int number;

        do {
            System.out.print("1부터 10 사이의 숫자를 입력하세요: ");
            number = scanner.nextInt();
        } while (number < 1 || number > 10);

        System.out.println("올바른 입력입니다: " + number);
        scanner.close();
    }
}

출력 예시:

1부터 10 사이의 숫자를 입력하세요: 15
1부터 10 사이의 숫자를 입력하세요: 0
1부터 10 사이의 숫자를 입력하세요: 7
올바른 입력입니다: 7

사용자가 올바른 입력값을 제공할 때까지 반복적으로 메시지가 출력됩니다.

2.2 메뉴 선택

Do/While 문은 콘솔 기반 메뉴 시스템에서 자주 사용됩니다. 아래는 메뉴 선택을 처리하는 예제입니다.

import java.util.Scanner;

public class MenuExample {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int choice;

        do {
            System.out.println("==== 메뉴 ====");
            System.out.println("1. 저장");
            System.out.println("2. 삭제");
            System.out.println("3. 종료");
            System.out.print("선택: ");
            choice = scanner.nextInt();

            switch (choice) {
                case 1:
                    System.out.println("저장되었습니다.");
                    break;
                case 2:
                    System.out.println("삭제되었습니다.");
                    break;
                case 3:
                    System.out.println("프로그램을 종료합니다.");
                    break;
                default:
                    System.out.println("잘못된 입력입니다. 다시 시도하세요.");
            }
        } while (choice != 3);

        scanner.close();
    }
}

출력 예시:

==== 메뉴 ====
1. 저장
2. 삭제
3. 종료
선택: 1
저장되었습니다.
==== 메뉴 ====
1. 저장
2. 삭제
3. 종료
선택: 3
프로그램을 종료합니다.

사용자가 "종료"를 선택할 때까지 메뉴가 반복적으로 표시됩니다.

2.3 특정 조건 만족 시 반복 종료

Do/While 문은 특정 조건이 충족되었을 때 반복을 종료하는 데도 유용합니다.

public class SumExample {
    public static void main(String[] args) {
        int sum = 0;
        int number = 1;

        do {
            sum += number;
            number++;
        } while (number <= 10);

        System.out.println("1부터 10까지의 합: " + sum);
    }
}

출력 결과:

1부터 10까지의 합: 55

이 예제는 1부터 10까지의 합을 계산하며, 조건이 충족될 때까지 반복됩니다.

3. Do/While 문과 While 문 비교

While 문은 조건을 먼저 평가하지만, Do/While 문은 최소 한 번 코드를 실행한다는 점에서 차이가 있습니다.

While 문 예제

int count = 0;

while (count < 5) {
    System.out.println("카운트: " + count);
    count++;
}

출력 결과:

카운트: 0
카운트: 1
카운트: 2
카운트: 3
카운트: 4

While 문에서는 조건이 false인 경우 코드가 한 번도 실행되지 않습니다.

Do/While 문 예제

int count = 5;

do {
    System.out.println("카운트: " + count);
    count++;
} while (count < 5);

출력 결과:

카운트: 5

조건이 처음부터 false여도 코드가 한 번은 실행됩니다.

4. Do/While 문 작성 시 주의사항

  • 조건 관리: 반복이 끝나지 않도록 조건을 적절히 설정하세요.
  • 무한 루프 방지: 루프 종료를 위한 조건을 반드시 포함하세요.
  • 가독성: 단순한 작업이 아니라면 주석을 통해 코드의 의도를 명확히 하세요.

결론

Java의 Do/While 문은 조건 평가 후 코드를 실행해야 할 때 매우 유용한 반복문입니다. 사용자 입력 처리, 메뉴 시스템 구현, 특정 조건을 만족할 때까지 작업 반복 등 다양한 상황에서 활용할 수 있습니다. 이번 글에서 배운 내용을 토대로 Do/While 문을 효과적으로 활용해 보세요!

이전최근

댓글 쓰기