Javaのswitch-case構文
switch-case構文は条件分岐の一種であり、switchの値が一致するcaseラベルごとに処理の流れを分岐させていくものである
・caseラベルには必ずswitchの値と同じ型の変数値を記述する
・各caseラベルと別にdefaultラベルも指定することができる
→defaultラベルは他のcaseラベルと一致しない場合に処理が実行される
意味的にはif-else構文のelseと同じになる
public static void main(String args) {
int myAge = 28;
switch (myAge) {
case 8:
System.out.println("私の年齢は8歳です");
break;
case 18:
System.out.println("私の年齢は18歳です");
break;
case 28: //画面に表示されるのはこのcaseになる
System.out.println("私の年齢は28歳です");
break;
case 38:
System.out.println("私の年齢は38歳です");
break;
case 48:
System.out.println("私の年齢は48歳です");
break;
default:
System.out.println("私の年齢はヒミツです");
break;
}
}
変数myAgeと一致するcaseラベルを探す
例外パターン
public static void main(String args) {
int myAge = 48;
switch (myAge) {
case 8:
System.out.println("私の年齢は8歳です");
break;
case 18:
System.out.println("私の年齢は18歳です");
break;
case 28:
System.out.println("私の年齢は28歳です");
case 38:
System.out.println("私の年齢は38歳です");
break;
case 48:
System.out.println("私の年齢は48歳です");
break;
default:
System.out.println("私の年齢はヒミツです");
break;
}
}
また、上記のようにbreakがない場合は、その下のcaseまで実行してしまう。
その際、画面に表示されるのは、
「"私の年齢は28歳です"」と「"私の年齢は38歳です"」となってしまう。
breakの記述は必須になる。
ほとんどのコードにおいて条件分岐の際はif構文を使うことが多いが、if構文に比べて見やすいのがメリットになる
以上、簡単にswitch-case構文まとめてみました。