while (C#)

Shy·2025년 3월 13일

C#

목록 보기
16/27

while

C#의 while문은 특정 조건이 true인 동안 반복 실행되는 루프다.
반복 횟수가 정해지지 않았거나 사용자의 입력, 센서 데이터, 파일 읽기 등 특정 조건이 만족될 때까지 실행해야 하는 경우 유용하다.


1. while문 기본 구조

while (조건식)
{
    // 조건이 true이면 실행되는 코드
}
  • 조건식이 true인 동안 계속 반복된다.
  • 조건식이 false가 되면 반복문을 종료한다.

2. 기본 예제

int i = 1;

while (i <= 5)
{
    Console.WriteLine($"반복 횟수: {i}");
    i++; // i를 증가시켜 조건을 변경해야 함
}

/*
반복 횟수: 1
반복 횟수: 2
반복 횟수: 3
반복 횟수: 4
반복 횟수: 5
*/
  • i = 1로 시작 → i <= 5 동안 실행 → i++로 값 변경
  • 주의:
    • while 문에서 조건이 항상 true라면 무한 루프(무한 반복)에 빠질 수 있다!
    • 변수를 증가시키거나 조건을 변경하는 코드가 필요하다.

3. while 문에서 break 사용 (반복 중단)

break를 사용하면 특정 조건에서 반복을 중단할 수 있다.

int i = 1;

while (true) // 무한 루프
{
    Console.WriteLine(i);
    if (i == 3)
    {
        Console.WriteLine("반복 중단!");
        break; // 루프 종료
    }
    i++;
}
/*
1
2
3
반복 중단!
*/

4. while 문에서 continue 사용 (특정 반복 건너뛰기)

  • 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; 실행 → 다음 반복으로 이동

5. do-while문 (조건을 나중에 검사)

  • while문은 조건을 먼저 검사한 후 실행
  • do-while문은 조건을 나중에 검사하므로, 최소 한 번은 실행된다!
int i = 5;

do
{
    Console.WriteLine($"i: {i}");
    i++;
} while (i < 3); // 조건이 false이지만 최소 1회 실행됨

// i: 5
  • while 문이었다면 실행되지 않겠지만, do-while 문은 최소 1회 실행된다.

6. 사용자 입력을 받을 때 while 사용하기

while 문을 활용하여 사용자 입력을 계속 받는 예제

string input = "";

while (input != "exit") // 사용자가 "exit" 입력하면 종료
{
    Console.Write("명령어 입력 (exit 입력 시 종료): ");
    input = Console.ReadLine();
    Console.WriteLine($"입력한 명령어: {input}");
}

Console.WriteLine("프로그램 종료.");
  • 사용자가 "exit"을 입력할 때까지 계속 실행된다.
  • 사용자 입력을 처리할 때 유용하다!

while vs for문 비교

구분while 문for 문
사용 목적반복 횟수가 정해지지 않은 경우반복 횟수가 정해진 경우
초기화 위치while 문 외부에서 선언for 문 내부에서 선언
조건 검사루프 시작 전에 조건 확인루프 시작 전에 조건 확인
증감식 위치루프 내부에서 직접 조정for 문 내부에서 자동 처리

정리

기능while 문do-while 문
실행 조건조건이 true일 때 반복최소 1회 실행 후 조건 검사
무한 루프 가능성while (true) { ... }do { ... } while (true);
break 사용 가능특정 조건에서 중단 가능특정 조건에서 중단 가능
continue 사용 가능특정 조건에서 건너뛰기 가능특정 조건에서 건너뛰기 가능
profile
신입사원...

0개의 댓글