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のサンプル