Do Loop While 繰り返し制御文 [VB]

繰り返しを最低1回は実行 Do Loop While

繰返し制御文
For Next
For Next 入れ子
For Step Next
For Each Next
Exit For 強制終了
Do While Loop
Do Until Loop
Do Loop While
Do Loop Until
 Exit Do 強制終了 

Do Loop While は、繰り返し処理を実行後、条件式を判定し、条件を満たしていれば、さらに繰り返し処理を実行します。

Do While Loop との違いは、Do Loop 繰り返し部分が1回実行された後に、条件式を判定する点です。そして、条件式を満たしていれば、繰り返し部分が実行されます。つまり、Do Loop While は必ず、繰り返し部分が最低1回は実行されます。

構文は次のようになります。

  Do
    ............
    .......
    ..........
  Loop While 条件式

Do Loop While サンプルプログラム

Do Loop While を使って、キーボードから入力した整数数値の合計が100以下ならば、キーボード入力を受け付けるプログラムを作成します。

ソースリストの枠内をクリックすると全選択できます。

Module Module1

  Sub Main()
      ' 変数の宣言
      Dim inStr As String
      Dim inNum As Integer = 0
      Dim sum As Integer = 0

      ' Do Loop While を使って
      ' 入力値の和が100以下なら入力を続ける
      Do
          Console.WriteLine("整数を入力してください")
          ' キーボードから入力
          inStr = Console.ReadLine()
          ' 入力した文字列を整数に変換
          inNum = Integer.Parse(inStr)
          ' 入力値を加算
          sum = sum + inNum
      Loop While sum <= 100

      ' 合計値を表示
      Console.WriteLine()    ' 改行
      Console.Write("入力整数の合計:")
      Console.Write(sum)
      Console.WriteLine()    ' 改行
  End Sub

End Module

Do ... Loop While sum <= 100 では、繰り返し部分を実行してから条件判定します。

Do While sum <= 100 ... Next では、条件判定してから繰り返し部分を実行します。

上のプログラムでは、While sum <= 100 の判定を先にしても、後にしても結果は同じです

条件判定の場所が違うので、プログラムの実行経路が変ってきます。プログラムによっては実行結果が異なることもあります。

何度も同じことを言って申し訳ありませんが、大事なことは、誰が見ても分かりやすいプログラムを書くことです。


次回は、Do Loop Until の繰り返しについて学習します。

 次回:Do Loop Until