条件により処理を分岐させるIf文を見てきましたが、処理を分岐させるステートメント(命令)として、SelectCase文もあります。このステートメントは、評価対象となる式の値を基に、処理を分岐させます。
Select Case文の書式 |
---|
Select Case 評価式 Case 式1 処理1 Case 式2 処理2 … Case Else 処理n End Select |
○ プロジェクト
次のようにプロジェクトを作成してください。
プロジェクトの種類 | コンソール アプリケーション |
---|---|
プロジェクト名 | SelectCaseTest1 |
○ プログラム
次のようにプログラムを入力してください。
○ フローチャート
○ 実行結果
「平日」か「休日」を入力してください:平日
今日は仕事があります。
----------------------------------------
「平日」か「休日」を入力してください:休日
今日は遊びに行きましょう。
----------------------------------------
「平日」か「休日」を入力してください:その他
今日は家でおとなしくしていましょう。
○ 解説
12行目で入力したデータを評価対象としてSelect Case文にセットします。そのデータを複数のケースで比較していきます。もしいずれのケースにも当てはまらなかった場合はCase Elseの部分が実行されます。また、このCase Elseは省略するともできます。
Select Case文で指定できる評価式は、Integer、Dobule、Stringなど基本データ型を指定することができます。またCase文で指定できる式として、次のようなものがあります。
例:
○ プロジェクト
次のようにプロジェクトを作成してください。
プロジェクトの種類 | コンソール アプリケーション |
---|---|
プロジェクト名 | SelectCaseTest2 |
○ プログラム
次のようにプログラムを入力してください。
○ フローチャート
○ 実行結果
年齢を入力してください:4
就学前です。
---------------------------------------------------------------------------
年齢を入力してください:8
小学生です。
---------------------------------------------------------------------------
年齢を入力してください:14
中学生です。
---------------------------------------------------------------------------
年齢を入力してください:16
高校生です。
---------------------------------------------------------------------------
年齢を入力してください:20
大学生です。
---------------------------------------------------------------------------
年齢を入力してください:33
社会人です。
○ 解説
12行目で入力した年齢を評価対象としてSelect Case文にセットします。そのデータを複数のケースで比較していきます。13行目のケースでは評価対象が6より小さいかどうかを判断しています。15行目のケースでは変数ageが6~12の場合は16行目を実行します。17行目のケースでは変数ageが13~15の場合は18行目を実行します。19行目のケースでは変数ageが16~18の場合は20行目を実行します。21行目のケースでは変数ageが19~22の場合は22行目を実行します。23行目のケースではその他の場合は24行目を実行します。