ホームページ  >  記事  >  Java  >  Java 13 の新しい Switch 式でより多くの条件付き分岐を処理します

Java 13 の新しい Switch 式でより多くの条件付き分岐を処理します

王林
王林オリジナル
2023-07-31 16:09:211215ブラウズ

Java 13 の新しい Switch 式を使用して、より多くの条件付き分岐を処理する

Java 13 のリリースにより、多くの新機能と改善点が導入されました。魅力的な新機能の 1 つは、条件分岐をより適切に処理するために Switch 式が強化されたことです。この記事では、Java 13 の新しい Switch 式を使用してより多くの条件分岐を処理する方法を紹介し、いくつかのコード例を示します。

これまで、Java では、通常、条件分岐を処理するために Switch ステートメントを使用していました。ただし、Switch ステートメントには、定数式のみと一致することや、次の case ステートメントの実行を避けるために各 case ステートメントの間に Break または return ステートメントを使用する必要があるなど、いくつかの制限があります。これらの制限により、複雑な条件付きロジックを扱う場合、Switch ステートメントはやや扱いにくくなります。

Java 13 で導入された新しい Switch 式は、これらの制限を取り除き、より柔軟で簡潔な構文を提供します。新しい Switch 式を使用して、より多くの条件分岐を処理する方法を見てみましょう。

まず、Switch 式では複数の式を一致条件として使用できます。以前は、式は Switch ステートメントの条件としてのみ使用できました。カンマで区切って複数の式を使用できるようになりました。

サンプル コードは次のとおりです。

String fruit = "apple";
int count = switch (fruit) {
    case "apple", "orange" -> 10;
    case "banana" -> 20;
    default -> throw new IllegalArgumentException("Invalid fruit: " + fruit);
};
System.out.println("Count: " + count);

上の例では、Switch 式で 2 つの条件、つまり「apple」と「orange」を使用しました。果物の値が「リンゴ」または「オレンジ」の場合、count の値は 10 になります。果物の値が「バナナ」の場合、count の値は 20 になります。 Fruit の値が条件を満たさない場合、IllegalArgumentException がスローされます。

もう 1 つの便利な新機能は、Switch 式で各 case 分岐を終了するために明示的な Break または return ステートメントが必要なくなったことです。これで、各 case 分岐で値を直接返すことができます。

サンプル コードは次のとおりです。

String fruit = "apple";
int count = switch (fruit) {
    case "apple" -> {
        System.out.println("Apple");
        yield 10;
    }
    case "orange" -> {
        System.out.println("Orange");
        yield 20;
    }
    default -> {
        throw new IllegalArgumentException("Invalid fruit: " + fruit);
    }
};
System.out.println("Count: " + count);

上の例では、各 case 分岐で中括弧を使用して複数のステートメントを実行し、yield キーワードを直接使用して値を返すことができます。

さらに、Java 13 では、新しい矢印構文 (「->」) と yield キーワードも導入され、Switch 式がより簡潔で読みやすくなりました。

要約すると、Java 13 の新しい Switch 式は条件付き分岐の処理を強化します。複数の式を一致条件として使用できるため、各 case 分岐を終了するために明示的に Break ステートメントや return ステートメントを使用する必要がなくなり、コードがより簡潔で読みやすくなります。この記事が、Java 13 の新しい Switch 式をよりよく理解し、適用するのに役立つことを願っています。

参考:

  • https://openjdk.java.net/jeps/354

以上がJava 13 の新しい Switch 式でより多くの条件付き分岐を処理しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。