다음을 통해 공유


방법: 반복적으로 몇 가지 문 실행

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

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

  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에 전달된 값까지 모든 정수의 합을 반환합니다.

참고 항목

작업

방법: 제어 구조 밖으로 제어 전달

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

방법: 루프 성능 개선

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

개념

판단 구조

루프 구조

기타 제어 구조

중첩 제어 구조

참조

For Each...Next 문(Visual Basic)

기타 리소스

Visual Basic의 제어 흐름