ヘッダー

VB.NET2002対応 VB.NET2003対応 VB2005対応

 

Visual Basic 中学校 > VB.NET サンプル >

For ~ Nextを使用したくり返し

ここではForNextを使用したくり返しのサンプルを紹介します。

DoLoopを使用したくり返しのサンプルはDo ~ Loopを使用したくり返しを参照してください。

For EachNextを使用したくり返しのサンプルはFor Each ~ Nextを使用したくり返しを参照してください。

くり返し処理についての説明は初級講座第7回 繰り返し処理を参照してください。

 

1.単純な例

以下の例では5回メッセージボックスを表示する。

VB2005対応

For i As Integer = 0 To 4
    MsgBox("こんにちは!")
Next

■リスト1

 

以下の例も5回メッセージボックスを表示する。VB2005以上を使用している場合は上述の例の方が好ましい。

VB6対応 VB.NET2002対応 VB.NET2003対応 VB2005対応

Dim i As Integer

For i = 0 To 4
    MsgBox("こんにちは!")
Next

■リスト2

 

2.繰り返し回数を表示する例

以下の例では5回メッセージボックスを表示し、現在何回目かを示す。

VB2005対応

For i As Integer = 0 To 4
    MsgBox("現在" & i & "回目です。")
Next

■リスト3

メモ:プログラムの世界では1からではなく、0から数えるのが普通です。この例でもはじめは「0回目」と表示します。

 

以下の例も5回メッセージボックスを表示し、現在何回目かを示す。VB2005以上を使用している場合は上述の例の方が好ましい。

VB6対応 VB.NET2002対応 VB.NET2003対応 VB2005対応

Dim i As Integer

For i = 0 To 4
    MsgBox("現在" & i & "回目です。")
Next

■リスト4

メモ:プログラムの世界では1からではなく、0から数えるのが普通です。この例でもはじめは「0回目」と表示します。

 

3.ループから抜け出す例 - Exit Doの用例

以下の例ではユーザーが入力した値を5個までListBoxに表示する。ただし、ユーザーが何も入力しなかった場合は直ちにループを終了する。

サンプルの実行に必要なもの
ListBox1 フォームにListBoxを配置してください。

VB2005対応

Dim Value As String

For i As Integer = 0 To 4

    Value = InputBox("何か入力してください。")

    If
Len(Value) = 0
Then
       
Exit For
   
Else
       
ListBox1.Items.Add(Value)
    End
If

Next

■リスト5

メモ:この例が示しているようにExit Forを使用するとNextの次の行にジャンプします。

 

以下の例でもユーザーが入力した値を5個までListBoxに表示する。ただし、ユーザーが何も入力しなかった場合は直ちにループを終了する。VB2005以上を使用している場合は上述の例の方が好ましい。

サンプルの実行に必要なもの
ListBox1 フォームにListBoxを配置してください。

VB.NET2002対応 VB.NET2003対応 VB2005対応

Dim Value As String
Dim i As Integer

For i = 0 To 4

    Value = InputBox("何か入力してください。")

    If
Len(Value) = 0
Then
       
Exit For
   
Else
       
ListBox1.Items.Add(Value)
    End
If

Next

■リスト6

メモ:この例が示しているようにExit Forを使用するとNextの次の行にジャンプします。

 

4.ループを継続する例 - Continue Doの用例

以下の例ではユーザーが入力した値を5個までListBoxに表示する。ただし、ユーザーが何も入力しなかった場合、その分はListBoxに表示されない。

サンプルの実行に必要なもの
ListBox1 フォームにListBoxを配置してください。

VB2005対応

Dim Value As String

For i As Integer = 0 To 4

    Value = InputBox("何か入力してください。")

    If
Len(Value) = 0
Then
       
Continue For
   
End If

   
ListBox1.Items.Add(Value)

Next

■リスト7

メモ:この例が示しているようにContinue Forを使用するとForの次の行にジャンプします。

 

5.ループ回数を訂正する例

以下の例ではユーザーが入力した値5個をListBoxに表示する。ただし、ユーザーが何も入力しなかった場合、その分はカウントされない。つまり必ず5個の何かを指定するまでループが終了しない。

サンプルの実行に必要なもの
ListBox1 フォームにListBoxを配置してください。

VB2005対応

Dim Value As String

For i As Integer = 0 To 4

    Value = InputBox("何か入力してください。")

    If Len(Value) = 0 Then
       
i -= 1
   
Else
       
ListBox1.Items.Add(Value)
    End
If

Next

■リスト8

メモ:この例が示しているようにループの回数をカウントしている変数の値を直接変更することで、ループの回数自体を訂正してしまうことができます。ただし、プログラムが複雑になるのでこの手法はお勧めできません。

 

以下の例でもユーザーが入力した値5個をListBoxに表示する。ただし、ユーザーが何も入力しなかった場合、その分はカウントされない。つまり必ず5個の何かを指定するまでループが終了しない。VB2005以上を使用している場合は上述の例の方が好ましい。

サンプルの実行に必要なもの
ListBox1 フォームにListBoxを配置してください。

VB.NET2002対応 VB.NET2003対応 VB2005対応

Dim Value As String
Dim i As Integer

For i = 0 To 4

    Value = InputBox("何か入力してください。")

    If
Len(Value) = 0
Then
       
i -= 1
   
Else
       
ListBox1.Items.Add(Value)
    End
If

Next

■リスト9

メモ:この例が示しているようにループの回数をカウントしている変数の値を直接変更することで、ループの回数自体を訂正してしまうことができます。ただし、プログラムが複雑になるのでこの手法はお勧めできません。