多くの if..else ステートメントを記述する代わりに、スイッチ ステートメント。
switch ステートメントは、実行する多くのコード ブロックから 1 つを選択します。
switch(expression) {
case x:
// code block
break;
case y:
// code block
break;
default:
// code block
}
これがどのように機能するかです:
switch 式は 1 回評価されます。case の値と比較されます。break キーワードと default キーワードはオプションであり、この章で後ほど説明します。以下の例では、曜日番号を使用して曜日名を計算します。
int day = 4;
switch (day) {
case 1:
System.out.println("Monday");
break;
case 2:
System.out.println("Tuesday");
break;
case 3:
System.out.println("Wednesday");
break;
case 4:
System.out.println("Thursday");
break;
case 5:
System.out.println("Friday");
break;
case 6:
System.out.println("Saturday");
break;
case 7:
System.out.println("Sunday");
break;
}
// Outputs "Thursday" (day 4)
結果
Thursday Java が break キーワードに到達すると、switch ブロックから抜け出します。
これにより、ブロック内でのさらなるコードの実行とケース テストが停止されます。
一致するものが見つかり、作業が完了したら、休憩の時間です。 これ以上のテストは必要ありません。
ブレークはブレークを「無視」するため、実行時間を大幅に節約できます。 switch ブロック内の残りのすべてのコードの実行。
default キーワードは、大文字と小文字が一致しない場合に実行するコードを指定します。
int day = 4;
switch (day) {
case 6:
System.out.println("Today is Saturday");
break;
case 7:
System.out.println("Today is Sunday");
break;
default:
System.out.println("Looking forward to the Weekend");
}
// Outputs "Looking forward to the Weekend"
結果
Looking forward to the Weekend default ステートメントが switch ブロックの最後のステートメントとして使用される場合、ブレークは必要ないことに注意してください。