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 문을 효과적으로 활용해 보세요!
댓글 쓰기