Java入門6 switch~case文による条件分岐

Java入門の第6回です。前回からの続きですが、今回だけでも分かる内容になっています。

前回はif文による条件分岐でしたが、今回はswitch~case文による条件分岐です。switch~case文を使うと、条件分岐の数が多くなってもスッキリと記述できます。

switch~case文で条件分岐

switch~case文は、条件分岐を行う際に使用します。条件分岐とは、条件によって分岐させて実行する処理を振り分けるということです。

switch~case文を使うと「値がAなら処理Aを実行しなさい、値がBなら処理Bを実行しなさい、値がCなら処理Cを実行しなさい…」という具合に、条件分岐の数が多くなってもスッキリと記述できます。

switch~case文の構文は、以下の通りです。

switch(式) {
case 値A:
	処理A;
	break;
case 値B:
	処理B;
	break;
case 値C:
	処理C;
	break;
default:
	デフォルトの処理;
}

上記の構文中のbreakは、そこでswitch文を抜けるということです。上記の構文の場合、まずcase 値Aを評価します。もしtrueなら処理Aのあとにbreakがあるので、 case 値B以降は評価せずにswitch文を抜けます。

仮に、breakが無い場合を考えてみます。case 値Aを評価してtrueなら処理Aが実行されます。そのあとにbreakが無いので、switch文を抜けずに続けてcase 値Bを評価して、次に case 値Cを評価して…という具合に最後まで評価してからswitch文を抜けることになります。

サンプルコードで動作確認

switch~case文を使ったサンプルコードを作成して、実際に動作確認してみましょう。以下は「Test5」という名前のクラスを作って、そのなかに switch~case文 の実例を記述したものです。

public class Test5 {

	public static void main(String[] args) {
		String blood;    //変数の宣言
		blood = "AB";    //変数への値の代入

		switch(blood) {
		case "A":
			System.out.println("A型です");
			break;
		case "B":
			System.out.println("B型です");
			break;
		case "O":
			System.out.println("O型です");
			break;
		case "AB":
			System.out.println("AB型です");
			break;
		default:
			System.out.println("不明です");
			break;
		}
	}

}

コードが入力できたら、Eclipseメニューの実行ボタンから[実行] → [Javaアプリケーション]を選択します。以下は、 Eclipseの実行結果画面です。

上記のサンプルコードでは、変数bloodに”AB”という値を代入しているので、コンソールには「AB型です」と表示されています。

次に、変数bloodに”ABC”という値を代入した場合の実行結果を見てみましょう。

上記のサンプルコードでは、変数bloodに”ABC”という値を代入しています。case文のなかに”ABC”などという候補はありません。そのため、default文で指定されたデフォルト処理が実行されて、コンソールには「不明です」と表示されています。

次回へ続きます。