다음을 통해 공유


While...End While 문(Visual Basic)

지정한 조건이 True인 동안 일련의 문을 계속 실행합니다.

While condition
    [ statements ]
    [ Exit While ]
    [ statements ]
End While

구성 요소

용어

내용

condition

필수적 요소로서, Boolean 식입니다. condition이 Nothing이면 Visual Basic에서 False로 간주합니다.

statements

선택적 요소로서, While 다음에 오는 하나 이상의 문이며 condition이 True일 때마다 실행됩니다.

Exit While

선택적 요소로서, While 블록의 외부로 제어를 전송합니다.

End While

필수적 요소로서, 이 While 블록의 정의를 마칩니다.

설명

조건이 True인 동안 문을 무한히 반복하려면 While...End While 구조를 사용합니다. 조건을 테스트하는 위치나 테스트 결과에 융통성을 주려면 Do...Loop 문(Visual Basic)을 사용하는 것이 보다 나을 수도 있습니다. 문을 지정된 횟수만큼 반복하려면 For...Next 문(Visual Basic)을 사용하는 것이 좋습니다.

condition이 True이면 End While 문이 나타날 때까지 모든 statements가 실행됩니다. 그런 다음 제어가 While 문으로 반환되고 condition이 다시 검사됩니다. condition이 계속 True이면 해당 프로세스가 반복되고 False이면 End While 문 다음에 오는 문에 제어가 전달됩니다.

참고

While 키워드는 Do...Loop 문(Visual Basic), Skip While 절(Visual Basic)Take While 절(Visual Basic)에서도 사용됩니다.

규칙

  • 조건의 특성. 조건은 일반적으로 두 값을 비교해서 지정됩니다. 그러나 Boolean 데이터 형식(Visual Basic) 값(True 또는 False)이 되는 식도 조건이 될 수 있으며, 이런 경우 Boolean으로 변환된 다른 데이터 형식(예: 숫자 형식)의 값을 포함합니다.

  • 조건 테스트. While 문은 루프를 시작하기 전에 항상 조건을 검사하고 조건이 True인 동안 루프가 계속 실행됩니다.

  • 반복 횟수. 루프를 처음 입력할 때 condition이 False이면 루프가 실행되지 않습니다.

  • 루프 중첩. 한 루프를 다른 루프 내에 배치하여 While 루프를 서로 중첩할 수 있습니다. 또한 하나의 With...End With 구조 내에 다른 종류의 제어 구조를 중첩할 수 있습니다. 자세한 내용은 중첩 제어 구조(Visual Basic)을 참조하십시오.

  • 루프 외부로 이동. Exit 문(Visual Basic)을 사용하면 제어가 End While 문 다음 문으로 바로 전달됩니다. 예를 들어, 잘못된 값이나 종료 요청과 같이 계속 반복할 필요가 없거나 반복할 수 없는 조건을 발견하면 루프를 끝내야 할 수 있습니다. While 루프 어디서나 많은 Exit While 문을 배치할 수 있습니다. Exit While는 If...Then...Else 구조와 마찬가지로 주로 일부 조건을 계산한 후에 사용됩니다.

  • 무한 루프. Exit While를 사용하여 조건이 무한 루프 상태가 되는지 여부를 테스트할 수도 있습니다. 무한 루프란 아주 많이 또는 무한정 실행되는 루프를 말합니다. 이러한 상태를 발견하면 Exit While을 사용하여 루프를 빠져 나올 수 있습니다. 자세한 내용은 Do...Loop 문(Visual Basic)을 참조하십시오.

예제

다음 예제에서는 While...End While 구조를 사용하여 카운터 변수를 증가시킵니다. 루프 내의 문은 조건이 True인 동안 계속 실행됩니다.

Dim counter As Integer = 0
While counter < 20
    counter += 1
    ' Insert code to use current value of counter.
End While
MsgBox("While loop ran " & CStr(counter) & " times")

참고 항목

참조

Do...Loop 문(Visual Basic)

For...Next 문(Visual Basic)

Boolean 데이터 형식(Visual Basic)

Exit 문(Visual Basic)

개념

루프 구조(Visual Basic)

중첩 제어 구조(Visual Basic)