HOWTO · Java

So verwenden Sie mehrere Werte für eine Switch-Case-Anweisung in Java

In diesem Artikel lernen wir, mehrere Werte für eine switch case-Anweisung zu verwenden.

Auf dieser Seite

In der Java-Programmierung ist die switch-Anweisung ein vielseitiges Werkzeug zur Verwaltung mehrerer Bedingungen. Traditionelle Implementierungen sind jedoch oft redundant, wenn derselbe Code für mehrere Werte ausgeführt werden soll.

Dieser Artikel untersucht zwei Methoden, um diese Herausforderung zu bewältigen. Zunächst vereinfacht die Methode Multiple Case Labels die Entscheidungsfindung, indem sie Werte gruppiert, ohne separate Codeblöcke zu verwenden.

Die Methode Arrow Syntax, die in Java 14 eingeführt wurde, bietet anschließend eine kompakte Alternative. Diese Techniken verbessern die Klarheit und Effizienz des Codes, insbesondere in Szenarien wie der Kategorisierung der Wochentage. Sehen wir uns diese Methoden genauer an, um den Code zu vereinfachen und die Lesbarkeit zu verbessern.

Zwei oder mehr Werte für eine switch-case-Anweisung verwenden

Die Methode der mehrfachen Case-Labels bietet eine elegante Lösung für diese Herausforderung. In diesem Abschnitt wird untersucht, wie diese Methode die Klarheit und Effizienz des Codes verbessert, indem sie mehrere Werte innerhalb einer switch-Anweisung behandelt.

Stellen Sie sich ein Szenario vor, in dem Sie die Wochentage anhand ihrer Position kategorisieren möchten. Verwenden wir diese Methode, um dies zu erreichen, ohne Codeblöcke zu duplizieren.

public class DayOfWeekClassifier {
  public static void main(String[] args) {
    int day = 4; // Assume 1 represents Monday, 7 represents Sunday

    switch (day) {
      case 1:
      case 2:
      case 3:
      case 4:
      case 5:
        System.out.println("Weekday");
        break;
      case 6:
      case 7:
        System.out.println("Weekend");
        break;
      default:
        System.out.println("Invalid day");
    }
  }
}

Wir initialisieren eine int-Variable namens day mit dem Wert 4. Die anschließende switch-Anweisung wertet den Wert von day aus.

Die Fälle 1, 2, 3, 4 und 5 werden nacheinander aufgelistet, ohne einzelne Codeblöcke. Wenn die Variable day mit einem dieser Fälle übereinstimmt, wird der Codeblock ausgeführt, der unmittelbar auf die Fälle folgt.

Beachten Sie, dass zwischen diesen Fällen keine expliziten break-Anweisungen erforderlich sind, sodass die Steuerung zum gemeinsamen Codeblock durchfließen kann.

Der gemeinsame Codeblock, der auf die Wochentagsfälle folgt, enthält die Logik, die ausgeführt wird, wenn day einen Wochentag darstellt. Das Fehlen einer break-Anweisung ermöglicht den Durchfluss zu diesem gemeinsamen Codeblock, was Redundanz minimiert und die Codeorganisation verbessert.

Anschließend werden die Fälle 6 und 7 zusammen aufgelistet, jeder mit seinem eigenen Codeblock, der das Verhalten festlegt, wenn day ein Wochenende darstellt.

Der optionale default-Fall dient als Auffangfall und führt seinen Codeblock aus, wenn keiner der angegebenen Fälle mit dem Wert der Variablen übereinstimmt.

Ausgabe:

Weekday

Die Pfeilsyntax verwenden, um mehrere Werte für eine switch-case-Anweisung zu verwenden

Java 14 führt eine neue Syntax für die switch-case-Anweisung ein. Benutzer können mehrere Werte für einen einzelnen case hinzufügen, indem sie sie durch Kommas trennen, und Benutzer müssen den ausführbaren Code in die geschweiften Klammern setzen.

In diesem Abschnitt untersuchen wir die Bedeutung der Pfeilsyntax und zeigen, wie sie den Code vereinfacht und ihn lesbarer und effizienter macht.

Betrachten Sie eine Situation, in der Sie die Wochentage anhand ihrer Position kategorisieren möchten. Mit der Pfeilsyntax-Methode können Sie dies auf kompakte Weise erreichen.

public class DayOfWeekClassifier {
  public static void main(String[] args) {
    int day = 4; // Assume 1 represents Monday, 7 represents Sunday

    switch (day) {
            case 1, 2, 3, 4, 5 -> System.out.println("Weekday");
            case 6, 7 -> System.out.println("Weekend");
            default -> System.out.println("Invalid day");
        }
    }
}

Wir initialisieren eine int-Variable namens day mit dem Wert 4. Die anschließende switch-Anweisung wertet den Wert von day aus.

Die erste case-Zeile verwendet die Pfeilsyntax, um die Werte 1, 2, 3, 4 und 5 zu gruppieren. Dadurch entfallen redundante Codeblöcke, und der Pfeil (->) verknüpft diese Wertgruppe auf prägnante Weise mit dem nachfolgenden Codeblock.

In ähnlicher Weise gruppiert die zweite case-Zeile die Werte 6 und 7 mithilfe der Pfeilsyntax und bietet so eine saubere und ausdrucksstarke Möglichkeit, mehrere Werte innerhalb einer einzelnen Zeile zu behandeln.

Der default-Fall dient als Auffangfall und führt seinen Codeblock aus, wenn keiner der angegebenen Fälle mit dem Wert der Variablen übereinstimmt.

Ausgabe:

Weekday

Fazit

Die Behandlung mehrerer Werte innerhalb einer switch-Anweisung hat sich weiterentwickelt. Die Methoden Multiple Case Labels und Arrow Syntax bieten elegante Lösungen, die Redundanz reduzieren und die Lesbarkeit des Codes verbessern.

Die erste Methode gruppiert Fälle ohne separate Blöcke und ermöglicht so einen nahtlosen Steuerungsfluss. Die Pfeilsyntax der zweiten Methode hingegen verdichtet mehrere Werte in einer einzigen Zeile und bietet eine saubere und ausdrucksstarke Alternative.

Ob Sie nun die Entscheidungsfindung vereinfachen oder die neueste Syntax nutzen – diese Methoden tragen zu saubererem und effizienterem Code bei. Wenn Sie sich mit den Feinheiten von Java vertraut machen, sollten Sie diese Techniken in Betracht ziehen, um Ihre Entwicklung effizienter zu gestalten.