2分岐処理:If 条件式 Then … Else … End If
分岐制御文 |
---|
If Then EndIf |
If Then Else EndIf |
If Then ElseIf |
Select Case |
If 条件式 Then … Else … End If を使うと、条件判定が成立した場合と、成立しなかった場合の2通りに分岐したプログラムを書くことができます。
条件式を使う
もし、条件式が成立していれば、Then から Else 間のプログラムを、条件判定が成立しなかったら、Else から End If までのプログラムを実行します。
If 条件式 Then ' 条件式が成立した場合 ........ ...... ........... Else ' 条件式が成立しなかった場合 ................ ..... ......... End If
条件式によく使われるのが比較演算子です。
注意点としては、以下(<=)・以上(>=)・未満(<)・超(>)の境界値の設定にミスが多いことです。境界値付近は漏れが無いように、十分にテストしてください。
条件式に論理演算子を使えば、条件式を a > b And a < c And a >= c のように、いくつでも並べて記述できます。論理演算子は次のページを参考にしてください。
論理演算子:And, Or, Not はこちら |
---|
If 条件式 Then … Else … End 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