Heim  >  Artikel  >  Java  >  Behandeln Sie mehr bedingte Verzweigungen mit neuen Switch-Ausdrücken in Java 13

Behandeln Sie mehr bedingte Verzweigungen mit neuen Switch-Ausdrücken in Java 13

王林
王林Original
2023-07-31 16:09:211181Durchsuche

Verarbeiten Sie mehr bedingte Verzweigungen mit den neuen Switch-Ausdrücken in Java 13

Mit der Veröffentlichung von Java 13 begrüßen wir viele neue Funktionen und Verbesserungen. Eine der aufregenden neuen Funktionen sind verbesserte Switch-Ausdrücke, um bedingte Verzweigungen besser verarbeiten zu können. In diesem Artikel stellen wir vor, wie Sie den neuen Switch-Ausdruck in Java 13 verwenden, um bedingtere Verzweigungen zu verarbeiten, und geben einige Codebeispiele.

In der Vergangenheit haben wir in Java normalerweise die Switch-Anweisung verwendet, um bedingte Verzweigungen zu verarbeiten. Die Switch-Anweisung weist jedoch einige Einschränkungen auf, z. B. kann sie nur mit konstanten Ausdrücken übereinstimmen und zwischen jeder Case-Anweisung muss eine Break- oder Return-Anweisung verwendet werden, um zu vermeiden, dass die nächste Case-Anweisung ausgeführt wird. Diese Einschränkungen machen die Switch-Anweisung beim Umgang mit komplexer bedingter Logik etwas unhandlich.

Der in Java 13 eingeführte neue Switch-Ausdruck beseitigt diese Einschränkungen und bietet eine flexiblere und prägnantere Syntax. Schauen wir uns an, wie Sie den neuen Switch-Ausdruck verwenden, um bedingtere Verzweigungen zu verarbeiten.

Zunächst können wir mehrere Ausdrücke als Bedingungen für den Abgleich in Switch-Ausdrücken verwenden. Bisher konnten wir einen Ausdruck nur als Bedingung in einer Switch-Anweisung verwenden. Jetzt können wir mehrere durch Kommas getrennte Ausdrücke verwenden.

Der Beispielcode lautet wie folgt:

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);

Im obigen Beispiel haben wir zwei Bedingungen im Switch-Ausdruck verwendet, nämlich „Apfel“ und „Orange“. Wenn der Fruchtwert „Apfel“ oder „Orange“ ist, beträgt der Zählwert 10. Wenn der Fruchtwert „Banane“ ist, beträgt der Zählwert 20. Wenn der Wert von Fruit keine Bedingungen erfüllt, wird eine IllegalArgumentException ausgelöst.

Eine weitere nützliche neue Funktion besteht darin, dass Switch-Ausdrücke keine explizite Break- oder Return-Anweisung mehr erfordern, um jeden Case-Zweig zu beenden. Jetzt können wir in jedem Fallzweig direkt einen Wert zurückgeben.

Der Beispielcode lautet wie folgt:

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);

Im obigen Beispiel können wir in jedem Case-Zweig geschweifte Klammern verwenden, um mehrere Anweisungen auszuführen, und das Schlüsselwort yield direkt verwenden, um einen Wert zurückzugeben.

Darüber hinaus führt Java 13 auch eine neue Pfeilsyntax („->“) und ein Yield-Schlüsselwort ein, wodurch Switch-Ausdrücke prägnanter und lesbarer werden.

Zusammenfassend lässt sich sagen, dass der neue Switch-Ausdruck in Java 13 die Handhabung bedingter Verzweigungen verbessert. Wir können mehrere Ausdrücke als Bedingungen für den Abgleich verwenden und müssen nicht mehr explizit Break- oder Return-Anweisungen verwenden, um jeden Case-Zweig zu beenden, wodurch der Code prägnanter und lesbarer wird. Ich hoffe, dieser Artikel hilft Ihnen, die neuen Switch-Ausdrücke in Java 13 besser zu verstehen und anzuwenden.

Referenz:

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

Das obige ist der detaillierte Inhalt vonBehandeln Sie mehr bedingte Verzweigungen mit neuen Switch-Ausdrücken in Java 13. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn