Java의 while
문은 조건이 참(true
)일 동안 계속해서 코드 블록을 반복 실행하는 제어 구조입니다. for
문과는 달리, while
문은 반복 횟수가 사전에 정해지지 않은 경우나 조건에 따라 반복을 제어할 때 유용합니다.
1. while
문 기본 구조
while
문은 다음과 같은 구조를 가집니다:
while (조건) {
// 조건이 참일 동안 반복할 코드 블록
}
- 조건: 반복문이 실행될 조건을 지정합니다. 조건이 참일 동안 코드 블록이 계속해서 실행됩니다.
- 반복할 코드 블록: 조건이 참일 동안 반복적으로 실행되는 코드입니다.
2. while
문 예제
다음은 기본적인 while
문 예제입니다.
public class WhileLoopExample {
public static void main(String[] args) {
int count = 1;
// 1부터 5까지 숫자를 출력하는 while 문
while (count <= 5) {
System.out.println("Count: " + count);
count++;
}
}
}
설명:
count
변수가 1로 초기화됩니다.while
문은count
가 5보다 작거나 같을 때까지 반복됩니다.- 각 반복에서
count
의 값을 출력하고,count
를 1씩 증가시킵니다.
3. 무한 루프
while
문을 잘못 사용하면 무한 루프에 빠질 수 있습니다. 무한 루프는 종료 조건이 없거나 조건이 항상 참일 때 발생합니다. 이는 프로그램을 중단하지 않으면 계속 실행되므로 주의가 필요합니다.
public class InfiniteLoopExample {
public static void main(String[] args) {
int count = 1;
// 조건이 항상 참인 while 문 (무한 루프)
while (true) {
System.out.println("Count: " + count);
count++;
if (count > 5) {
break; // count가 5보다 크면 루프 종료
}
}
}
}
설명:
while (true)
는 항상 참이므로 무한 루프를 만듭니다.if
문을 사용하여count
가 5보다 커지면break
문으로 루프를 종료합니다.
4. do-while
문
do-while
문은 while
문과 유사하지만, 조건을 검사하기 전에 코드 블록을 최소한 한 번 실행합니다. 이 구조는 코드 블록이 적어도 한 번은 실행되어야 하는 경우에 유용합니다.
public class DoWhileExample {
public static void main(String[] args) {
int count = 1;
// do-while 문을 사용하여 1부터 5까지 숫자를 출력
do {
System.out.println("Count: " + count);
count++;
} while (count <= 5);
}
}
설명:
count
변수가 1로 초기화됩니다.do
블록 내의 코드는while
조건을 검사하기 전에 한 번 실행됩니다.count
가 5보다 작거나 같으면do
블록이 반복됩니다.
5. while
문에서의 제어문
while
문에서도 break
와 continue
같은 제어문을 사용하여 반복의 흐름을 제어할 수 있습니다.
break
문
break
문은 while
문을 즉시 종료합니다.
public class WhileBreakExample {
public static void main(String[] args) {
int count = 1;
// 1부터 10까지 숫자를 출력하지만 5에서 멈추는 while 문
while (count <= 10) {
if (count == 5) {
break; // count가 5일 때 루프 종료
}
System.out.println("Count: " + count);
count++;
}
}
}
설명:
count
가 5에 도달하면break
문이 실행되어 루프가 종료됩니다.- 1부터 4까지의 숫자만 출력됩니다.
continue
문
continue
문은 while
문 내에서 현재 반복의 나머지 부분을 건너뛰고 다음 반복을 시작합니다.
public class WhileContinueExample {
public static void main(String[] args) {
int count = 1;
// 1부터 10까지 숫자를 출력하지만 5를 건너뛰는 while 문
while (count <= 10) {
if (count == 5) {
count++;
continue; // count가 5일 때 이번 반복을 건너뜀
}
System.out.println("Count: " + count);
count++;
}
}
}
설명:
count
가 5일 때continue
문이 실행되어 현재 반복을 건너뛰고 다음 반복으로 넘어갑니다.- 5를 제외한 1부터 10까지의 숫자가 출력됩니다.
6. 사용자 입력을 사용하는 while
문
사용자로부터 입력을 받아 그에 따라 반복을 제어할 수도 있습니다.
import java.util.Scanner;
public class WhileUserInputExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String input;
// "exit"를 입력할 때까지 사용자 입력을 반복 처리
while (true) {
System.out.print("Enter a command (type 'exit' to quit): ");
input = scanner.nextLine();
if (input.equals("exit")) {
break; // 사용자가 "exit"을 입력하면 루프 종료
}
System.out.println("You entered: " + input);
}
scanner.close();
}
}
설명:
- 사용자가 "exit"을 입력할 때까지 루프가 반복됩니다.
- 사용자 입력을 읽고 출력합니다.
- "exit"을 입력하면
break
문이 실행되어 루프가 종료됩니다.
7. 결론
Java의 while
문은 조건이 참일 동안 반복 작업을 수행할 수 있는 강력한 제어 구조입니다. while
문과 do-while
문을 통해 다양한 상황에서 반복 작업을 수행할 수 있습니다. 조건이 언제 참이 되는지 또는 몇 번 반복해야 하는지 명확하지 않은 경우 while
문이 특히 유용합니다. 또한 break
와 continue
문을 사용하여 반복의 흐름을 유연하게 제어할 수 있습니다.
'언어 > Java' 카테고리의 다른 글
[ Java ] 반복문 Labeled Loop (1) | 2024.06.17 |
---|---|
[ Java ] 반복문 do while (1) | 2024.06.17 |
[ Java ] 반복문 for (1) | 2024.06.17 |
[ Java ] 조건문 switch 문 (1) | 2024.06.17 |
[ Java ] 조건문 if (1) | 2024.06.17 |