二者択一のプログラム : If...Then ステートメント

更新 : 2007 年 11 月

このレッスンでは、If...Then ステートメントを使用して、条件に基づいてコードを実行する方法を説明します。

プログラムは、さまざまな条件に応じてさまざまな処理を実行する必要があります。たとえば、プログラムで曜日を確認した後、曜日によって異なる処理を実行できます。If...Then ステートメントを使用すると、条件を評価した後、その条件の結果に基づいて、異なるコード セクションを実行できます。

If...Then ステートメントの使用例を次に示します。

If My.Computer.Clock.LocalTime.DayOfWeek = DayOfWeek.Monday Then
  MsgBox("Today is Monday!")
End If

このコードを実行すると、条件 (If から Then までの部分) が評価されます。条件が true の場合、次のコード行が実行され、メッセージ ボックスが表示されます。条件が false の場合、コードは End If 行にスキップします。つまり、このコードは、"今日が月曜日の場合にメッセージを表示する" ように指定しています。

やってみよう

If...Then ステートメントを使用するには

  1. [ファイル] メニューの [新規作成] をポイントし、[プロジェクト] をクリックします。

  2. [新しいプロジェクト] ダイアログ ボックスの [テンプレート] ペインで、[Windows アプリケーション] をクリックします。

  3. [プロジェクト名] ボックスに「IfThen」と入力し、[OK] をクリックします。

    新しい Windows フォーム プロジェクトが開きます。

  4. フォームをダブルクリックしてコード エディタを開きます。

  5. Form1_Load イベント ハンドラに次のコードを追加します。

    If My.Computer.Clock.LocalTime.DayOfWeek = DayOfWeek.Saturday Or _
      My.Computer.Clock.LocalTime.DayOfWeek = DayOfWeek.Sunday Then
      MsgBox("Happy Weekend!")
    End If
    
  6. F5 キーを押してプログラムを実行します。

    今日が土曜日または日曜日の場合は、Happy Weekend! というメッセージ ボックスが表示されます。その他の場合は、メッセージ ボックスは表示されません。

  7. [デバッグ] メニューの [デバッグの停止] をクリックしてプログラムを終了します。このプロジェクトは、開いたままにしておいてください。次の手順「Else 句を使用するには」で追加するものがあります。

上記の例では、If...Then ステートメントで Or 演算子を使用して複数の条件 ("今日は土曜日 Or 今日は日曜日") を評価しました。Or 演算子および And 演算子を使用して、1 つの If...Then ステートメントで必要な数だけ条件を評価できます。

Else 句

If...Then ステートメントを使用して、条件が true の場合にコードを実行する方法を説明しましたが、条件が true の場合と false の場合で異なる一連のコードを実行するにはどうするとよいでしょうか。この場合は、Else 句を使用します。Else 句を使用すると、条件が false の場合に実行されるコードのブロックを指定できます。Else 句の使用例を次に示します。

If My.Computer.Clock.LocalTime.DayOfWeek = DayOfWeek.Friday Then
  MsgBox("Today is Friday!")
Else
  MsgBox("It isn't Friday yet!")
End If

この例では、式が評価されます。true の場合、次のコード行が実行され、最初のメッセージ ボックスが表示されます。false の場合、コードは Else 句に飛び、Else の次の行が実行されて、2 番目のメッセージ ボックスが表示されます。

やってみよう

この手順は、「If...Then ステートメントを使用するには」が終了したところから始まります。「If...Then ステートメントを使用するには」を完了していない場合は、完了してから続行してください。

Else 句を使用するには

  1. If...Then ステートメントのコードを次のように変更します。

    If My.Computer.Clock.LocalTime.DayOfWeek = DayOfWeek.Saturday Or _
      My.Computer.Clock.LocalTime.DayOfWeek = DayOfWeek.Sunday Then
      MsgBox("Happy Weekend!")
    Else
      MsgBox("Happy Weekday! Don't work too hard!")
    End If
    
  2. F5 キーを押してプログラムを実行します。プログラムは、対応する内容と共に週末か平日かを示すメッセージ ボックスを表示します。

    whz9yas9.alert_note(ja-jp,VS.90).gifメモ :

    両方のコード ブロックの実行をテストするには、Windows タスク バーの時刻をダブルクリックして、曜日を変更します (タスク バーとは、Windows の [スタート] ボタンがあるバーです。既定ではデスクトップの下部に表示され、時刻はその右隅に表示されています)。

次の手順

このレッスンでは、If...Then ステートメントと Else 句を使用して、実行時に、条件に基づいてコードのブロックを選択的に実行する方法を説明しました。次のレッスンについては、「Select Case を使用して複数の選択肢から処理を決定する」を参照して実行するコードを選択する方法を調べるか、「問題が発生した場合の対処 : エラー処理」に進むかを選択できます。

参照

処理手順

プログラムでの処理の繰り返し : For...Next ループによるループ処理

比較 : 値を比較するための式の使用

参照

If...Then...Else ステートメント (Visual Basic)