トップ 一覧 検索 ヘルプ RSS ログイン

switch文の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!! 第一章 Java プログラミングの基礎

!! 1-3. Javaプログラムの基礎

! switch文

switch文も条件分岐処理を行います。文法は次のようになっています。

 switch ( expression ) {
     case n: statements
     case m: statements
     ...
     default: statements
 }

「expression」には整数型(char, byte, short, int やそのラッパークラス)が入ります。条件にマッチするケースがない場合には default の 「statements」 が実行されます。

switch文は本書では使用しないので、例を示す程度にとどめておきます。

''Sample13.java''
 1.import java.util.Calendar;
 2.
 3.public class Sample13{
 4.    public static void main( String[] args){
 5.        // カレンダークラスのオブジェクトを得る
 6.        Calendar c = Calendar.getInstance();
 7.        
 8.        // 時間を得る
 9.        int hour = c.get( Calendar.HOUR_OF_DAY);
 10.        int minute = c.get( Calendar.MINUTE);
 11.        
 12.        // 時間を出力する
 13.        System.out.println( hour + "時 " + minute + "分");
 14.        
 15.        switch( hour){
 16.            case 0: case 1: case 2: case 3:
 17.            case 4: case 5: case 6:
 18.                System.out.println("就寝中なり");
 19.                break;
 20.            case 7: case 8:
 21.                System.out.println("おはよー");
 22.                break;
 23.            case 9: case 10: case 11:
 24.                System.out.println("午前就業中");
 25.                break;
 26.            case 12:
 27.                System.out.println("お昼休み");
 28.                break;
 29.            case 13: case 14: case 15: case 16:
 30.                System.out.println("午後就業中");
 31.                break;
 32.            default:
 33.                System.out.println("アフター5");
 34.                break;
 35.        }
 36.    }
 37.}
{{pre num
import java.util.Calendar;

public class Sample13{
    public static void main( String[] args){
        // カレンダークラスのオブジェクトを得る
        Calendar c = Calendar.getInstance();
        
        // 時間を得る
        int hour = c.get( Calendar.HOUR_OF_DAY);
        int minute = c.get( Calendar.MINUTE);
        
        // 時間を出力する
        System.out.println( hour + "時 " + minute + "分");
        
        switch( hour){
            case 0: case 1: case 2: case 3:
            case 4: case 5: case 6:
                System.out.println("就寝中なり");
                break;
            case 7: case 8:
                System.out.println("おはよー");
                break;
            case 9: case 10: case 11:
                System.out.println("午前就業中");
                break;
            case 12:
                System.out.println("お昼休み");
                break;
            case 13: case 14: case 15: case 16:
                System.out.println("午後就業中");
                break;
            default:
                System.out.println("アフター5");
                break;
        }
    }
}
}}

このプログラムでは現在時刻を得て、それに対応したメッセージを出力しています。

時間による条件分岐に switch を使っています。case の 「statements」 の最後に break という命令文が入っています。これがない場合、その下の case 文も続けて実行されてしまうので注意してください。

switch 文は if-else を用いて書き換えることができます。Sample13.java を if-else を用いて書き換えてみると、良い練習になるでしょう。