If 条件式1 Then ... Elseif 条件式2 ... [VB]

Visual Basic 文法[2015 2013 2012]

3分岐以上の処理

If 条件式 Then ... ElseIf ... ElseIf ... End If を使うと、条件式の判定をいくつも書くことができるので、条件式の判定の数だけ、分岐処理を実行することができます。

Else 句でその他の処理

ElseIf を使えば、3つ以上の条件式を判定できるので、3分岐以上処理をすることができます。最後の Else 句は、いずれの条件を満たさなかった時に実行されます。Else 句を書かないと、いずれかの条件式を満たさなかった時には、何も実行されません。

  If 条件式1 Then
    ' 条件式1が成立した場合の処理
    ..........
    ............
    ..........
  ElseIf 条件式2
    ' 条件式2が成立した場合の処理
    ..........
    .......
    ..........
  ElseIf 条件式3
    ' 条件式3が成立した場合の処理
    ..........
    ..........
    ...........
  Else      ' Else句は省略可能
    ' 上のいずれの条件も成立しなかった場合の処理
    ..........
    .............
    ........
  End If

サンプルプログラム

If Then ElseIf と比較演算子を使ったサンプルプログラムを作成します。

キーボードから入力した整数値が、正の整数なら「正の整数が入力されました」、入力値が 0 なら「ゼロが入力されました」、負の整数なら「負の整数が入力されました」と表示するプログラムを作成します。

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

Module Module1

    Sub Main()
        ' 変数の宣言
        Dim inStr As String
        Dim inNum As Integer
        Dim msg As String
        ' キーボードから入力
        Console.WriteLine("整数を入力してください")
        inStr = Console.ReadLine()
        ' 文字列を整数に変換
        inNum = Integer.Parse(inStr)
        ' 入力値を判定して処理を振分
        If inNum > 0 Then
           ' 正の整数用のメッセージを作成
            msg = "正の整数が入力されました"
        ElseIf inNum = 0 Then
           ' ゼロ用のメッセージを作成
            msg = "ゼロが入力されました"
        Else
           ' 負の整数用のメッセージを作成
            msg = "負の整数が入力されました"
        End If
        ' 結果を表示
        Console.WriteLine(msg)
    End Sub

End Module
[広告]