Do While Loop は、繰り返し条件を先に判定して、条件を満たしていれば、繰り返し処理を実行します。繰り返し回数が事前に分からない場合でも、繰り返し条件が分かっていれば使えます。
繰り返し回数が事前に分かっている場合には、For Step Next が便利です。
Do While Loopは、次のような構文になります。
Do While 条件式 ............ ......... ............ Loop
条件式には、条件を満たしているか、そうでないかを判定する式を書きます。条件式によく使う比較演算子を表にまとめました。
| 比較演算子の使い方 | ||
|---|---|---|
| < | If a < b Then ... End If | 変数aが変数bより小さければ、Then ... End Ifを実行 |
| <= | If a <= b Then ... End If | 変数aが変数b以下ならば、Then ... End Ifを実行 |
| > | If a > b Then ... End If | 変数aが変数bより大きければ、Then ... End Ifを実行 |
| >= | If a >= b Then ... End If | 変数aが変数b以上ならば、Then ... End Ifを実行 |
| = | If a = b Then ... End If | 変数aが変数bと同じならば、Then ... End Ifを実行 |
| <> | If a <> b Then ... End If | 変数aと変数bが異なれば、Then ... End Ifを実行 |
Do While Loop を使って、キーボードから入力した数値の合計が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を入力すると、その1回のみで、sumが100を超えるので、すぐに Loop の次の処理に移ります。合計値は 0 のままです。
次回は、Do Until Loop の繰り返しについて学習します。
| ◆ VB 文法 目次へ◆ |
|---|
| 文字列を表示する |
| Dim 変数の宣言 |
| = 代入演算子 |
| キーボード入力 |
| & 文字列連結演算子 |
| 3つ以上の文字列を連結 |
| 文字列を改行する |
| + 加算演算子 |
| - 減算演算子 |
| * 乗算演算子 |
| / 除算演算子 |
| ¥ 整数除算演算子 |
| Mod 整数剰余演算子 |
| ^ べき乗(累乗)演算子 |
| += -= *= /= |
| \= ^= &= |
| ◆ VB 文法 目次へ◆ |
|---|
| Day() |
| Fix() |
| Format() 数値編 |
| Hour() |
| Int() |
| IsNumeric() |
| LTrim() |
| Minute() |
| Month() |
| RTrim() |
| Second() |
| Space() |
| Trim() |
| Year() |
| ◆ VB 文法 目次へ◆ |
|---|
| Math.Absメソッド |
| Math.Ceilingメソッド |
| Math.Floorメソッド |
| Math.Maxメソッド |
| Math.Minメソッド |
| Math.Roundメソッド |
| Math.Signメソッド |
| Math.Truncateメソッド |