Java switch文のサンプル

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

目次

switch文

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

コード

サンプルのコードです。
7行目はswitch文です。
11行目で値が一致し、12行目が実行されます。

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がない場合のサンプルです。
iの値は1ですが、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");
		case 2:
			System.out.println("a2"); // a1とa2が出力される
			break;
		default:
			System.out.println("x1");
			break;
		}
 	}
}

関連の記事

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

 はまったらエンジニア特化型Q&Aサイト
【teratail(テラテイル)】で質問しましょう!


△上に戻る