HOWTO · Java

Java スイッチの複数のケース

このチュートリアルでは、Java での複数の case switch ステートメントについて説明します。

このチュートリアルでは、Java での複数ケースの switch ステートメントについて説明します。

Java Switch 複数ケース

switch ステートメントは、if-elseif シナリオの代わりに使用される多分岐ステートメントです。 switch ステートメントは、複数の条件に対して 1つのステートメントを実行します。

これらの条件は cases で割り当てられ、switch ステートメントは複数のケースを持つことができます。 switch ステートメントの式は、byteshortchar、および int プリミティブ型のいずれかでなければなりません。

複数のケースを持つ switch ステートメントを使用する場合、いくつかの重要な点を考慮する必要があります。

  1. switch ステートメントは、ケースをいくつでも持つことができますが、ケースの重複は許可されません。
  2. 値がリテラルでなければならない場合、変数は使用できません。
  3. ケースの値は、式変数と同じデータ型になります。
  4. break ステートメントを使用してステートメントを終了することができますが、これはオプションであり、省略した場合、実行は続行され、次のケースに移動します。
  5. default ステートメントは、switch ステートメントでもオプションであり、default ケースに使用されます。

複数のケースを持つ switch ステートメントの構文を見てみましょう。

switch (Variable / Expression) {
  case Case_Value1:
  case Case_Value2:
  case Case_Value3:
  case Case_Value4:
    // code inside the case
    // optional  break
    break;

  case Case_Value5:
  case Case_Value6:
  case Case_Value7:
  case Case_Value8:
    // code inside the case value
    // optional
    break;

  default:
    // code inside the default case.
}

複数のケースで switch ステートメントを示す例を試してみましょう。

package delftstack;

import java.util.Scanner;

public class Example {
  public static void main(String[] args) {
    // Declaring a variable for switch expression
    Scanner Demo_Input = new Scanner(System.in);
    System.out.println("Please enter the name of a month to know how many days it contains: ");
    String Month_Name = Demo_Input.nextLine();
    switch (Month_Name) {
      // Case statements
      case "January":
      case "March":
      case "May":
      case "July":
      case "September":
      case "November":
        System.out.println("This month has 31 days");
        break;
      case "February":
        System.out.println("This month has 28 days");
        break;
      case "April":
      case "June":
      case "August":
      case "October":
      case "December":
        System.out.println("This month has 30 days");
        break;
      // Default case statement
      default:
        System.out.println("Please enter valid month");
    }
  }
}

上記のコードは、複数のケースを持つ switch ステートメントを使用して、指定された月の日数を確認します。 出力を参照してください:

Please enter the name of a month to know how many days it contains:
February
This month has 28 days