Java switch文のサンプル

Javaのswitch文のサンプルです。

目次

switch文

switch(条件){
  case 値 :
    処理
    break;
  case 値 :
    処理
    break;
   ・・・
  default:
    処理
    break;
}
  • 条件の値とcaseの値が一致すれば、配下の処理が実行されます。
  • breakでswitch文を抜けます。breakがないと下の判定(case/default)に行ってしまいます。
  • defaultは、条件の値がどのcaseの値にも一致しない時に実行されます。省略可能ですが書いたほうが良いです。
  • JavaSE7から、switch文で文字列の判定もできるようになりました。
    ただし、値がnullの場合、NullPointerException例外が発生します。
    判定をする際は、switch文の前に値がnullでないことを確認したほうがよいです。

コード

サンプルのコードです。
11行目のcase 2で値が一致するので、その配下の処理が実行され、breakでswitch文を抜けます。

package test1;

public class Test1 {
	public static void main(String[] args) {
		int i = 2;

		switch (i){
		case 1:
			System.out.println("a1");
			break;
		case 2:
			System.out.println("a2"); // a2が出力される
			break;
		default:
			System.out.println("x1");
			break;
		}
 	}
}

nullをチェックするサンプル

7行目は、if文でnullかチェックしています。
値がnullでない場合は、10行目のelseからswitch文が実行されます。

package test1;

public class Test1 {
	public static void main(String[] args) {
		String moji = null;

		if (moji == null) {
			System.out.println("a0"); // a0が出力される

		} else {
			switch (moji) {
			case "a":
				System.out.println("a1");
				break;
			case "b":
				System.out.println("a2");
				break;
			default:
				System.out.println("x1");
				break;
			}
		}
	}
}

breakがない場合

breakがない場合のサンプルです。
8行目のcase 1にbreakがないのでcase 2の処理も実行されています。

package test1;

public class Test1 {
	public static void main(String[] args) {
		int i = 1;

		switch (i){
		case 1:
			System.out.println("a1"); // a1が出力される
			
		case 2:
			System.out.println("a2"); // a2が出力される
			break;
		default:
			System.out.println("x1");
			break;
		}
 	}
}

関連の記事

Java if文のサンプル
Java while文とdo...while文のサンプル
Java 配列/コレクションの値をループで取得するサンプル(拡張for文)
Java for文とbreakとcontinueのサンプル



△上に戻る