방법: 반복적으로 몇 가지 문 실행(Visual Basic)

루프 구조를 사용하여 문 블록을 반복적으로 실행할 수 있습니다. 루프는 조건의 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 키워드의 위치에 따라 조건이 테스트되는 위치가 결정됩니다. 다음은 이에 대한 예입니다.

    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 루프는 루프가 반복되는 동안 값이 증가하거나 감소하는 제어 변수를 사용합니다.

특정 횟수만큼 문 그룹을 실행하려면

  1. 제어 변수의 시작 값과 끝 값을 결정하고 For 문을 사용하여 해당 값을 지정합니다.

    For i As Integer = 1 To 10
    

    제어 변수가 루프 외부에 선언되지 않았으면 As 절을 사용하여 베어 변수를 For 문의 일부로 선언할 수 있습니다.

  2. Step 키워드를 사용하여 각 반복에 대한 제어 변수의 증가치를 지정합니다. 값을 지정하지 않으면 자동으로 1씩 증가합니다. 제어 변수를 줄이려면 음수 값을 사용합니다.

    For i As Integer = 10 To 1 Step -1
    
  3. 반복할 마지막 문 뒤에 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에 전달된 값까지 모든 정수의 합을 반환합니다.

참고 항목

작업

방법: 제어 구조 밖으로 제어 전달(Visual Basic)

방법: 컬렉션이나 배열의 각 요소에 대해 몇 가지 문 실행(Visual Basic)

방법: 루프 성능 개선(Visual Basic)

방법: 루프의 다음 반복으로 건너뛰기(Visual Basic)

참조

For Each...Next 문(Visual Basic)

개념

판단 구조(Visual Basic)

루프 구조(Visual Basic)

기타 제어 구조(Visual Basic)

중첩 제어 구조(Visual Basic)

기타 리소스

Visual Basic의 제어 흐름