Java のswitch文
1. switch ステートメント
多くの if..else 文を書き連ねる代わりに、switch 文を使用することができます。
これはレストランでの注文に似ています。「1番を選べばピザ、2番ならバーガー、3番ならパスタ、それ以外なら何もなし」といった具合に、選択肢に応じて処理を分岐させます。
switch 文は、複数のコードブロックの中から実行すべき1つを選択します。
1.1 構文 (Syntax)
switch(式) {
case x:
// コードブロック
break;
case y:
// コードブロック
break;
default:
// コードブロック
}switch文の仕組みは以下の通りです:
switchの「式(expression)」が一度だけ評価されます。- その結果の値が、各
caseの値と比較されます。 - 一致(マッチ)するものがあれば、その
caseに関連付けられたコードブロックが実行されます。 breakキーワードに到達すると、switchブロックから脱出します。- 一致するものが一つもない場合は、
defaultブロックのコードが実行されます。
以下の例では、曜日の番号を使用して曜日の名前を算出しています。
1.2 曜日判定のコード例
int day = 4;
switch (day) {
case 1:
System.out.println("月曜日");
break;
case 2:
System.out.println("火曜日");
break;
case 3:
System.out.println("水曜日");
break;
case 4:
System.out.println("木曜日");
break;
case 5:
System.out.println("金曜日");
break;
case 6:
System.out.println("土曜日");
break;
case 7:
System.out.println("日曜日");
break;
}
// 出力: "木曜日" (dayが4のため)2. break キーワード
Javaが break キーワードに到達すると、その switch ブロックから完全に抜け出します。
これにより、ブロック内のそれ以降のコード実行や case のテスト(比較)が停止されます。一致が見つかり、目的の処理が完了したのであれば、そこで終了(休憩=break)の時間です。それ以上テストを続ける必要はありません。
break を適切に使用することで、switch ブロック内の残りのコード実行を「無視」できるため、実行時間の節約にもつながります。
3. default キーワード
default キーワードは、どの case にも一致しなかった場合に実行されるコードを指定します。
3.1 default を使用したコード例
int day = 4;
switch (day) {
case 6:
System.out.println("今日は土曜日です");
break;
case 7:
System.out.println("今日は日曜日です");
break;
default:
System.out.println("週末を楽しみにしています");
}
// 出力: "週末を楽しみにしています" 注意:default ステートメントを switch ブロックの最後に記述する場合、break は必要ありません。