방법: 반복적으로 몇 가지 문 실행
업데이트: 2007년 11월
루프 구조를 사용하여 문 블록을 반복적으로 실행할 수 있습니다. 루프는 조건의 Boolean 값에 따라 횟수에 제한 없이 여러 번 실행되거나 특수 변수로 제어되는 특정 횟수만큼 실행될 수 있습니다.
횟수에 제한 없이 여러 번 반복
조건이 True일 때만 문 그룹을 실행하려면
While...End While 문(Visual Basic)을 사용하여 루프의 반복을 제어하는 조건을 지정합니다. 다음 예제의 문 블록은 number가 6보다 클 때만 반복됩니다.
Sub checkWhile() Dim counter As Integer = 0 Dim number As Integer = 10 While number > 6 number -= 1 counter += 1 End While MsgBox("The loop ran " & counter & " times.") End Sub
While 문은 루프를 시작하기 전에 항상 조건을 검사하고 number가 10 대신 6으로 초기화되면 루프 내의 문이 실행되지 않습니다.
조건이 True로 유지되는 동안 문 그룹을 실행하려면
Do...Loop 문(Visual Basic)을 사용하고 루프의 시작 또는 끝 부분에 테스트 조건을 지정합니다. While(Visual Basic) 키워드의 위치에 따라 조건이 테스트되는 위치가 결정됩니다. 다음은 이에 대한 예입니다.
Sub checkWhileFirst() Dim counter As Integer = 0 Dim number As Integer = 10 Do While number > 6 number -= 1 counter += 1 Loop MsgBox("The loop ran " & counter & " times.") End Sub Sub checkWhileLast() Dim counter As Integer = 0 Dim number As Integer = 5 Do number -= 1 counter += 1 Loop While number > 6 MsgBox("The loop ran " & counter & " times.") End Sub
위 예제에서 첫 번째 Do 루프는 네 번 실행되고 두 번째 Do 루프는 한 번 실행됩니다.
조건이 True가 될 때까지 문 그룹을 실행하려면
Do...Loop 구문을 사용하고 While 대신 Until 키워드를 사용합니다. While과 마찬가지로 키워드의 위치에 따라 조건이 테스트되는 위치가 결정됩니다. 다음은 이에 대한 예입니다.
Sub checkUntilFirst() Dim counter As Integer = 0 Dim number As Integer = 20 Do Until number = 15 number -= 1 counter += 1 Loop MsgBox("The loop ran " & counter & " times.") End Sub Sub checkUntilLast() Dim counter As Integer = 0 Dim number As Integer = 20 Do number -= 1 counter += 1 Loop Until number = 15 MsgBox("The loop ran " & counter & " times.") End Sub
위 예제에서 각 Do 루프는 다섯 번 실행됩니다.
특정 횟수만큼 반복
While 및 Do 루프는 루프에서 문을 몇 번 실행해야 하는지 미리 알 수 없는 경우에 유용합니다. 그러나 루프를 특정 횟수만큼 실행해야 하는 경우에는 For...Next 문(Visual Basic)이 더 유용합니다. While 또는 Do 루프와 달리 For...Next 루프는 루프가 반복되는 동안 값이 증가하거나 감소하는 제어 변수를 사용합니다.
특정 횟수만큼 문 그룹을 실행하려면
제어 변수의 시작 값과 끝 값을 결정하고 For 문을 사용하여 해당 값을 지정합니다.
For i As Integer = 1 To 10
제어 변수가 루프 외부에 선언되지 않았으면 As 절을 사용하여 베어 변수를 For 문의 일부로 선언할 수 있습니다.
Step 키워드를 사용하여 각 반복에 대한 제어 변수의 증가치를 지정합니다. 값을 지정하지 않으면 자동으로 1씩 증가합니다. 제어 변수를 줄이려면 음수 값을 사용합니다.
For i As Integer = 10 To 1 Step -1
반복할 마지막 문 뒤에 Next 문을 추가하여 For...Next 구문을 완성합니다. Next 문에 제어 변수를 지정할 수 있습니다.
Function addBackward(ByVal highest As Integer) As Integer Dim total As Integer = 0 For i As Integer = highest To 1 Step -1 total += i Next i Return total End Function
위 예제에서는 1부터 매개 변수 highest에 전달된 값까지 모든 정수의 합을 반환합니다.
참고 항목
작업
방법: 컬렉션이나 배열의 각 요소에 대해 몇 가지 문 실행
개념
참조
For Each...Next 문(Visual Basic)