Java Switch ステートメント

多くの 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

break キーワード

Java が break キーワードに到達すると、switch ブロックから抜け出します。

これにより、ブロック内でのさらなるコードの実行とケース テストが停止されます。

一致するものが見つかり、作業が完了したら、休憩の時間です。 これ以上のテストは必要ありません。

ブレークはブレークを「無視」するため、実行時間を大幅に節約できます。 switch ブロック内の残りのすべてのコードの実行。

default キーワード

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 ブロックの最後のステートメントとして使用される場合、ブレークは必要ないことに注意してください。