C#의 while문은 특정 조건이 true인 동안 반복 실행되는 루프다.
반복 횟수가 정해지지 않았거나 사용자의 입력, 센서 데이터, 파일 읽기 등 특정 조건이 만족될 때까지 실행해야 하는 경우 유용하다.
while (조건식)
{
// 조건이 true이면 실행되는 코드
}
true인 동안 계속 반복된다.false가 되면 반복문을 종료한다.int i = 1;
while (i <= 5)
{
Console.WriteLine($"반복 횟수: {i}");
i++; // i를 증가시켜 조건을 변경해야 함
}
/*
반복 횟수: 1
반복 횟수: 2
반복 횟수: 3
반복 횟수: 4
반복 횟수: 5
*/
break를 사용하면 특정 조건에서 반복을 중단할 수 있다.
int i = 1;
while (true) // 무한 루프
{
Console.WriteLine(i);
if (i == 3)
{
Console.WriteLine("반복 중단!");
break; // 루프 종료
}
i++;
}
/*
1
2
3
반복 중단!
*/
continue를 사용하면 특정 조건에서 반복문의 나머지 코드를 건너뛰고 다음 반복으로 넘어갈 수 있다.int i = 0;
while (i < 5)
{
i++; // i를 증가시켜야 무한 루프 방지
if (i == 3)
{
Console.WriteLine("건너뛰기!");
continue; // i == 3이면 아래 코드 실행 안 하고 다음 반복으로
}
Console.WriteLine(i);
}
/*
1
2
건너뛰기!
4
5
*/
i == 3일 때 "3 건너뛰기!" 출력 후 continue; 실행 → 다음 반복으로 이동while문은 조건을 먼저 검사한 후 실행do-while문은 조건을 나중에 검사하므로, 최소 한 번은 실행된다!int i = 5;
do
{
Console.WriteLine($"i: {i}");
i++;
} while (i < 3); // 조건이 false이지만 최소 1회 실행됨
// i: 5
while 문을 활용하여 사용자 입력을 계속 받는 예제
string input = "";
while (input != "exit") // 사용자가 "exit" 입력하면 종료
{
Console.Write("명령어 입력 (exit 입력 시 종료): ");
input = Console.ReadLine();
Console.WriteLine($"입력한 명령어: {input}");
}
Console.WriteLine("프로그램 종료.");
| 구분 | while 문 | for 문 |
|---|---|---|
| 사용 목적 | 반복 횟수가 정해지지 않은 경우 | 반복 횟수가 정해진 경우 |
| 초기화 위치 | while 문 외부에서 선언 | for 문 내부에서 선언 |
| 조건 검사 | 루프 시작 전에 조건 확인 | 루프 시작 전에 조건 확인 |
| 증감식 위치 | 루프 내부에서 직접 조정 | for 문 내부에서 자동 처리 |
| 기능 | while 문 | do-while 문 |
|---|---|---|
| 실행 조건 | 조건이 true일 때 반복 | 최소 1회 실행 후 조건 검사 |
| 무한 루프 가능성 | while (true) { ... } | do { ... } while (true); |
| break 사용 가능 | 특정 조건에서 중단 가능 | 특정 조건에서 중단 가능 |
| continue 사용 가능 | 특정 조건에서 건너뛰기 가능 | 특정 조건에서 건너뛰기 가능 |