default が先頭にある switch
出力はどれか。
public class Main {
public static void main(String[] args) {
String s = "x";
switch (s) {
default:
System.out.print("D");
case "a":
System.out.print("A");
break;
case "b":
System.out.print("B");
}
}
}
- A
DA - B
D - C
DAB - D 何も出力されない
正解と解説を見る
正解: A
- A: どの case にも一致しないので default から実行し、break の無いまま case "a" まで進んで、そこの break で抜けます。
- B: default に break が無いので、次の case "a" も実行されます。
- C: case "a" の break で抜けるので、case "b" は実行されません。
- D: 一致する case が無くても default が実行されます。default はどこに書いてもかまいません。
ポイント
- どの case にも一致しないので default から実行されます。default はどこに書いてもかまいません。
- default に break が無いので、次の
case "a"まで実行されます。
「分岐文 (if、if/else、switch) の使用」をこのサイトで解く (記録・間違えた問題の解き直し・AI教師への質問)