CodeGym /행동 /JAVA 25 SELF /do-while 반복문: 소개와 동작상의 요점

do-while 반복문: 소개와 동작상의 요점

JAVA 25 SELF
레벨 4 , 레슨 3
사용 가능

1. do-while 반복문 소개

상상해 보세요: 사용자가 마음속으로 생각한 숫자를 맞히는 프로그램을 작성하고 있습니다. 최소한 한 번은 숫자를 물어봐야 하고, 맞힐 때까지 요청을 반복해야 합니다. 조건을 미리 검사한다면, 일반적인 while은 아예 반복문에 진입하지 못할 수도 있습니다.

여기서는 do-while이 도움이 됩니다. while과 달리, 조건이 처음부터 거짓이어도 반복문의 본문을 최소 한 번은 실행합니다 — 구매와 상관없이 계산대에서 껌을 하나 받는 것과 비슷하죠.

do-while 문법

매우 간단합니다: Java에 키워드가 하나의 “한 쌍” 더 생긴 것뿐입니다.


do
{
    // 반복문 본문: 이 코드는 최소 한 번 실행됩니다
}
while (uslovie);
do-while 반복문의 문법

조건 괄호 뒤 끝에 붙는 세미콜론 ;에 주의하세요! 일반적인 while에는 없지만 여기에는 있습니다 — 초보자가 자주 빠지는 고전적인 함정입니다.

do-while 반복문의 단계 설명

  1. 반복문 본문으로 진입(항상 최소 한 번).
  2. 조건 검사.
  3. 조건이 참이면 본문을 반복 실행.
  4. 조건이 거짓이면 반복문 종료.

2. 일반적인 while과의 차이

일반적인 while의 기본 동작 시나리오를 떠올려 봅시다:

while (uslovie)
{
    // 반복문 본문
}

조건이 처음부터 거짓이면 본문은 한 번도 실행되지 않습니다!

이제 do-while 예시입니다:

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

조건이 처음부터 거짓이어도 반복문 본문은 최소 한 번 실행됩니다!

코드로 차이를 보여 보겠습니다:

// 일반적인 while
int count = 0;
while (count > 0)
{
    System.out.println("count = " + count);
    count--;
}
// 아무것도 출력되지 않음

// do-while
int count2 = 0;
do
{
    System.out.println("count2 = " + count2);
    count2--;
}
while (count2 > 0);
// "count2 = 0"만 출력되는데, 조건은 거짓입니다!

가끔은 “이상하게” 느껴질 수 있지만, 사용자 입력과 데이터 검증에서는 바로 이런 동작이 필요합니다.

3. do-while의 실전 활용 시나리오

이 반복문이 가장 자주 쓰이는 곳은 어디일까요?

데이터 검증

대표적인 시나리오: 사용자에게 올바른 데이터를 입력하게 하고(예: 비밀번호는 최소 6자), 올바르게 입력될 때까지 요청을 반복합니다.

String password;
do
{
    System.out.print("새 비밀번호를 입력하세요(최소 6자): ");
    password = console.nextLine();
}
while (password.length() < 6);

System.out.println("비밀번호가 승인되었습니다!");

사용자가 곧바로 긴 비밀번호를 입력하더라도 반복문 본문은 최소 한 번 실행됩니다.

콘솔 애플리케이션의 메뉴

자주 쓰는 패턴: 메뉴를 보여 주고 명령을 기다리며, 특정 종료 명령이 들어왔을 때만 종료합니다.

String command;
do
{
    System.out.println("메뉴:");
    System.out.println("1. 환영 메시지 표시");
    System.out.println("2. 종료");
    System.out.print("동작을 선택하세요: ");
    command = console.nextLine();

    if (command.equals("1")) 
    {
        System.out.println("안녕, 세상!");
    }
    else if (!command.equals("2"))
    {
        System.out.println("알 수 없는 명령입니다.");
    }
}
while (!command.equals("2"));

System.out.println("안녕!");

4. 표: while과 다른 반복문의 비교

반복문 유형 조건 검사 시점 본문이 실행될 수 있는 횟수 적합한 경우
while
진입 전 0회 이상 반복 횟수를 미리 알 수 없을 때
do-while
진입 후 1회 이상 본문을 최소 한 번은 실행해야 할 때
for
진입 전 0회 이상 반복 횟수를 알고 있을 때
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION