If 条件式 Then … Else … End If [VB]

2分岐処理:If 条件式 ThenElseEnd If

分岐制御文
If Then EndIf
If Then Else EndIf
If Then ElseIf
Select Case

If 条件式 ThenElseEnd If を使うと、条件判定が成立した場合と、成立しなかった場合の2通りに分岐したプログラムを書くことができます。

IfThenElseIf分岐


条件式を使う

もし、条件式が成立していれば、Then から Else 間のプログラムを、条件判定が成立しなかったら、Else から End If までのプログラムを実行します。

  If 条件式 Then
    ' 条件式が成立した場合
    ........
    ......
    ...........
  Else
    ' 条件式が成立しなかった場合
    ................
    .....
    .........
  End If

条件式によく使われるのが比較演算子です。

注意点としては、以下(<=)・以上(>=)・未満(<)・超(>)の境界値の設定にミスが多いことです。境界値付近は漏れが無いように、十分にテストしてください。

条件式に論理演算子を使えば、条件式を a > b And a < c And a >= c のように、いくつでも並べて記述できます。論理演算子は次のページを参考にしてください。

論理演算子:And, Or, Not はこちら

If 条件式 ThenElseEnd If のサンプルプログラム

今回はキーボードから入力した整数値が、0以上なら入力値を10倍し、負なら2倍して、その結果をConsole.WriteLine関数を使って、画面に表示するプログラムを作成します。

キーボードからの整数値入力は下のページを参考にしてください。

キーボードから整数値を入力 はこちら

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

Module Module1

  Sub Main()
      ' 変数の宣言
      Dim inNum As Integer = 0
      Dim anser As Integer = 0
      Dim inStr As String
      Dim msg As String
      ' キーボードから整数値を入力
      Console.WriteLine("整数を入力して下さい")
      inStr = Console.ReadLine()
      ' 文字列を整数に変換
      inNum = Integer.Parse(inStr)
      ' 0以上の整数か負の整数かを判定し処理分岐
      If inNum >= 0 Then
          ' 0以上なので入力値を10倍する
          anser = inNum * 10
          ' 表示メッセージ作成
          msg = "×10="
      Else
          ' 負の数なので入力値を2倍する
          anser = inNum * 2
          ' 表示メッセージ作成
          msg = "×2="
      End If
      ' 結果を表示
      Console.WriteLine(inNum & msg & anser)
  End Sub

End Module