Answer 03-5
Javaのswitch文で複数のcaseをまとめる確認問題の模範解答と解説

このページは、Javaのswitch文で複数のcaseをまとめるには?月番号から季節を表示する方法の確認問題を見直すためのページです。
各caseからどの共通処理へ進むかと、breakを置く位置を確認してください。
問題1:冬と春を表示する
回答例
switch (month) {
case 12:
case 1:
case 2:
System.out.println("冬");
break;
case 3:
case 4:
case 5:
System.out.println("春");
break;
}
12・1・2は同じ「冬」を表示するので、3つのcaseを続けます。共通処理のSystem.out.printlnを1回書いたあとにbreak;を置きます。春も同じ考え方です。
問題2:複数の奇数をまとめる
回答例
switch (number) {
case 1:
case 3:
case 5:
System.out.println("奇数");
break;
default:
System.out.println("対象外");
}
1・3・5のどれでも同じ文字列を表示するため、caseをまとめます。これは「奇数かどうか」をすべて判定するコードではなく、1・3・5という決めた値だけを扱うswitch文です。
問題3:最初のcaseでbreakを書くとどうなるか
最初のcaseに一致した時点でswitch文を抜けるため、下に置いた共通処理へ進めません。例えばcase 12:の直後にbreak;を書くと、monthが12のときは何も表示されません。caseをまとめる場合のbreakは、共通処理の後に置きます。