コロンを使う switch 式
出力はどれか。
public class Main {
public static void main(String[] args) {
int m = 4;
int days = switch (m) {
case 2:
yield 28;
case 4, 6, 9, 11:
yield 30;
default:
yield 31;
};
System.out.println(days);
}
}
- A
30 - B
28 - C
31 - D コンパイルエラーになる
正解と解説を見る
正解: A
- A: 4 は
case 4, 6, 9, 11:に一致し、yield 30 で switch 式の値が 30 になります。 - B: m は 4 なので case 2 には一致しません。
- C: 4 は case に一致するので default には進みません。
- D: コロンを使う switch 式でも、yield で値を返せば正しい書き方です。
ポイント
- switch 式は
case ... :の書き方でも作れます。その場合も値は yield で返します。