Do While Loop 繰り返し [VB]

条件を満たしている限りループ継続

繰返し制御文
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 While Loopループが使えます。Do While Loop は、繰り返し条件を先に判定して、条件を満たしていれば、繰り返し処理を実行します。

繰返し回数が事前に分かっている場合には、For Step Next のほうが便利なことが多いと思います。

Do While Loopは、次のような構文になります。

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

条件式には、条件を満たしているか、そうでないかを判定する式を書きます。条件を満たしていれば、Do While の間を繰り返し実行します。

例えば、Do While a > b は、変数aが変数bより大きければ、Do WhileLoop の間を繰り返し実行。

Do While a <= b は、変数aが変数b以下ならば、Do WhileLoop の間を繰り返し実行。

Do WhileLoop サンプルプログラム

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

キーボードから整数値の入力については、次のページも参考にしてみてください。

詳細:キーボードから整数値を入力について

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

Module Module1

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

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

      ' 合計値を表示
      Console.WriteLine()    ' 改行
      Console.WriteLine("お疲れ様でした")
      Console.WriteLine("入力した数値の和は")
      Console.WriteLine(sum)
      Console.WriteLine("です")
  End Sub

End Module

sum <= 100 で条件を判定して、合計値を保管する変数sumが100以下なら、 DoWhile sum <= 100 の次行から Loop の間の処理が、繰り返し実行されます。

たとえば、一番目に150を入力すると、2回目の判定で、sumが100を超えて Loop の次に処理が移ってしまいます。したがって、合計値は 150 になります。

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

次回:Do Until Loop の繰り返し