VB.NET Do…Loop文のサンプル(Exit/Continue)

VB.NETのDo...Loop文のサンプルです。条件で処理を分岐する時に使用します。

目次

条件が成立している間繰り返す(While)

Whileは条件が成立している間繰り返します。
Whileが前につくときと後ろにつくときがあります。

Do While ~ Loop

Do While ~ Loopのサンプルです。

Module Module1
    Sub Main()
        Dim a As Integer = 0 '変数

        Do While a < 5
            Console.WriteLine(a) '0 1 2 3 4が出力される
            a = a + 1
        Loop
    End Sub
End Module

5行目は、値が5より小さい間、処理を繰り返します。
7行目は、条件になる値を加算しています。

構文

Do While 条件式
  繰り返される箇所
Loop

Do ~ Loop While

Do ~ Loop Whileのサンプルです。

Module Module1
    Sub Main()
        Dim a As Integer = 0 '変数

        Do
            Console.WriteLine(a) '0 1 2 3 4が出力される
            a = a + 1
        Loop While a < 5
    End Sub
End Module

8行目は、a< 5の間はループ処理が行われ、aが5になるとループが終了します。
6行目は、0から4が表示されます。

構文

Do 
  繰り返される箇所
Loop While 条件式
  • 条件式の判定が後ろにあるので、処理は必ず1回は実行されます。
  • 条件式が成立している間、処理が繰り返されます。

条件が成立していない間繰り返す(Until)

Untilは条件が成立していない間繰り返します。
Untilが前につくときと後ろにつくときがあります。

Do Until ~ Loop

Do Until ~ Loopのサンプルです。

Module Module1
    Sub Main()
        Dim a As Integer = 0 '変数

        Do Until a > 3
            Console.WriteLine(a) '0 1 2 3が出力される
            a = a + 1
        Loop
    End Sub
End Module

5行目は、a> 3の間はループ処理が行われ、aが4になるとループが終了します。
6行目は、0から3が表示されます。

構文

Do Until 条件式
  繰り返される箇所
Loop
  • 条件式が成立するまで、処理が繰り返されます。
  • 最初から条件が成立している場合は、処理は1回も実行されません。

Do ~ Loop Until 

Do ~ Loop Until のサンプルです。

Module Module1
    Sub Main()
        Dim a As Integer = 0 '変数

        Do
            Console.WriteLine(a) '0 1 2 3が出力される
            a = a + 1
        Loop Until a > 3
    End Sub
End Module

8行目は、a>3になるまでループ処理が行われ、aが4になるとループが終了します。
6行目は、0から3が表示されます。

構文

Do 
  繰り返される箇所
Loop Until 条件式
  • 条件式の判定が後ろにあるので、処理は必ず1回は実行されます。
  • 条件式が成立していない間、処理が繰り返されます。

Do...Loop文でExitを使用する

Module Module1
    Sub Main()
        Dim a As Integer = 0 '変数

        Do While a < 10
            If a = 3 Then
                Exit Do
            End If
            Console.WriteLine(a) '0 1 2が出力される
            a = a + 1
        Loop
    End Sub
End Module

7行目のExit Doは、Do...Loop文を抜けます。
そのため9行目の文字列の出力は0,1,2のみ出力されます。

Do...Loop文でContinueを使用する 

Module Module1
    Sub Main()
        Dim a As Integer = 0 '変数

        Do While a < 3
            If a = 1 Then
                a = a + 1
                Continue Do
            End If
            Console.WriteLine(a) '0 2が出力される
            a = a + 1
        Loop
    End Sub
End Module

8行目のContinue Doでループ処理の先頭の5行目に戻ります。
10行目は、0と2が出力されます。

関連の記事

VB.NET if文のサンプル
VB.NET for文のサンプル(Exit/Continue)
VB.NET While文のサンプル(Exit/Continue)

△上に戻る