switch文

 条件により処理を分岐させるif文を見てきましたが、処理を分岐させるステートメント(命令)として、switch文もあります。このステートメントは、評価対象となる式の値を基に、処理を分岐させます。

switch文の書式
switch(評価式){
 case 式1:
  処理1;
  break;
 case 式2:
  処理2;
  break;

 default:
  処理n;
  break;
}

switch文

○ ファイル

 次のようにファイルを作成してください。

ファイル名 SwitchTest1.java

サンプルダウンロード

○ プログラム

 次のようにプログラムを入力してください。

  1. import java.io.*;
  2. class SwitchTest1{
  3.  public static void main(String[] args) throws Exception{
  4.   //データを入力する準備
  5.   BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  6.   //データを入力
  7.   System.out.print("「平日」か「休日」を入力してください:");
  8.   String str = br.readLine();
  9.   //入力データによって処理を分岐
  10.   switch(str){
  11.   case "平日":     //平日の場合
  12.    System.out.println("今日は仕事があります。");
  13.    break;
  14.   case "休日":     //休日の場合
  15.    System.out.println("今日は遊びに行きましょう。");
  16.    break;
  17.   default:     //その他の場合
  18.    System.out.println("今日は家でおとなしくしていましょう。");
  19.    break;
  20.   }
  21.  }
  22. }

○ フローチャート

○ 実行結果

「平日」か「休日」を入力してください:平日
今日は仕事があります。
--------------------------------------------------------------------------------------------------------------------
「平日」か「休日」を入力してください:休日
今日は遊びに行きましょう。
--------------------------------------------------------------------------------------------------------------------
「平日」か「休日」を入力してください:その他
今日は家でおとなしくしていましょう。

○ 解説

 13行目で入力したデータを評価対象としてswitch文にセットします。そのデータを複数のcaseで比較していきます。もしいずれのcaseにも当てはまらなかったら「default」の部分が実行されます。また、この「default」は省略するともできます。 caseで指定できるのは整数値ですが、Java7からは文字列を指定できるようになりました。該当するcaseのプログラムでbreakが出現するまで実行されます。breakを記述し忘れると、実行されるcase内のプログラムから次のcaseのプログラムへと、次々と実行されるので注意してください。

前へ   次へ