CodeGym /행동 /C# SELF /do-while 반복문: 소개와 사용 팁

do-while 반복문: 소개와 사용 팁

C# SELF
레벨 4 , 레슨 3
사용 가능

1. do-while 반복문이 뭔지 알아보자

잠깐 상상해봐: 네가 사용자가 생각한 숫자를 맞추는 프로그램을 만들려고 해. 프로그램이 최소 한 번은 사용자한테 숫자를 물어보고, 맞출 때까지 계속 물어봐야 해. 근데 조건이 처음부터 false면, 일반 while은 반복문 안에 아예 안 들어가.

여기서 do-while 반복문이 등장하지! while이랑 다르게, 얘는 조건이 처음부터 false여도 반복문 본문을 무조건 한 번 실행해. 이건 마치 네가 뭘 샀든 안 샀든 무조건 무료 껌을 주는 거랑 비슷해.

do
{
    // 반복문 본문: 이 코드는 최소 한 번 실행돼
}
while (조건);
do-while 반복문 문법

조건 괄호 뒤에 ; 세미콜론이 붙는 거 꼭 봐! 일반 while에는 없는데, 여기엔 있어. 초보자한테는 작은 함정이지 :)

do-while 반복문 동작 순서

  1. 반복문 본문에 진입 (항상 최소 한 번).
  2. 조건 검사.
  3. 조건이 true면 본문 반복.
  4. 조건이 false면 반복문 종료.

2. 일반 while이랑 뭐가 다를까?

일반 while의 기본 동작을 떠올려보자:

while (조건)
{
    // 반복문 본문
}

조건이 처음부터 false면 본문이 한 번도 실행 안 돼!

이제 do-while 예시:

do
{
    // 반복문 본문
}
while (조건);

조건이 처음부터 false여도 본문이 최소 한 번 실행돼!

코드로 차이점을 보여줄게:

// 일반 while
int count = 0;
while (count > 0)
{
    Console.WriteLine("count = " + count);
    count--;
}
// 아무것도 출력 안 됨

// do-while
int count2 = 0;
do
{
    Console.WriteLine("count2 = " + count2);
    count2--;
}
while (count2 > 0);
// 조건이 false여도 "count2 = 0"이 출력돼!

가끔 이게 "이상하다" 싶을 수도 있는데, 사용자 입력이나 데이터 검증할 때는 이런 동작이 오히려 코드에 도움이 돼.

3. do-while 실제로 언제 쓰냐?

이 반복문이 자주 쓰이는 곳은?

데이터 검증

가장 흔한 예시: 사용자가 뭔가 올바르게 입력할 때까지(예: 숫자만, 혹은 6자 이상 비밀번호 등) 계속 입력을 받는 거야.

string password;
do
{
    Console.Write("새 비밀번호를 입력하세요 (6자 이상): ");
    password = Console.ReadLine();
}
while (password.Length < 6);

Console.WriteLine("비밀번호가 등록됐어!");

여기선 사용자가 처음부터 긴 비밀번호를 입력해도 반복문 본문이 최소 한 번 실행돼.

콘솔 앱에서 메뉴 만들기

진짜 자주 쓰는 패턴: 메뉴를 보여주고, 사용자 명령을 기다렸다가, 특정 명령이 들어오면 반복문을 끝내는 거야.

string command;
do
{
    Console.WriteLine("메뉴:");
    Console.WriteLine("1. 인사 출력");
    Console.WriteLine("2. 종료");
    Console.Write("원하는 동작을 선택하세요: ");
    command = Console.ReadLine();

    if (command == "1")
    {
        Console.WriteLine("안녕, 세상!");
    }
    else if (command != "2")
    {
        Console.WriteLine("알 수 없는 명령어야.");
    }
}
while (command != "2");

Console.WriteLine("잘 가!");

4. while과 다른 반복문 비교

반복문 종류 조건 검사 시점 본문 실행 횟수 언제 쓰면 좋음?
while 앞에서 0번 이상 반복 횟수를 미리 모를 때
do-while 뒤에서 1번 이상 최소 한 번은 실행해야 할 때
for 앞에서 0번 이상 반복 횟수가 정해져 있을 때
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION