Java-Switch-Anweisung (mit Beispielen)

In diesem Tutorial lernen Sie, die switch-Anweisung in Java zu verwenden, um den Ablauf der Programmausführung anhand von Beispielen zu steuern.

Die switchAnweisung ermöglicht es uns, einen Codeblock unter vielen Alternativen auszuführen.

Die Syntax der switchAnweisung in Java lautet:

 switch (expression) ( case value1: // code to be executed if // expression is equal to value1 break; case value2: // code to be executed if // expression is equal to value2 break;… … default: // default statements )

Wie funktioniert die switch-Anweisung?

Der Ausdruck wird einmal ausgewertet und mit den Werten jedes Falletiketts verglichen .

  • Wenn eine Übereinstimmung vorliegt, wird der entsprechende Code nach der übereinstimmenden Fallbezeichnung ausgeführt.
    Wenn beispielsweise der Wert des Ausdrucks gleich value2 ist, wird der Code danach case value2:ausgeführt.
  • Wenn es keine Übereinstimmung gibt, wird der Code danach default:ausgeführt.

Hinweis : Wir können die gleiche Funktionalität mit Java ausführen, wenn… sonst… wenn Leiter. Die Syntax der switch-Anweisung ist jedoch übersichtlicher und viel einfacher zu lesen und zu schreiben.

Flussdiagramm der switch-Anweisung

Flussdiagramm der Java-Switch-Anweisung

Beispiel 1: Java-Switch-Anweisung

 // Java Program to check the size // using the switch… case statement class Main ( public static void main(String() args) ( int number = 44; String size; // switch statement to check size switch (number) ( case 29: size = "Small"; break; case 42: size = "Medium"; break; // match the value of week case 44: size = "Large"; break; case 48: size = "Extra Large"; break; default: size = "Unknown"; break; ) System.out.println("Size: " + size); ) )

Ausgabe :

 Größe groß

Im obigen Beispiel haben wir die switch-Anweisung verwendet, um die Größe zu ermitteln. Hier haben wir eine variable Nummer. Die Variable wird mit dem Wert jeder case-Anweisung verglichen.

Da der Wert mit Fall 44 übereinstimmt, wird der Größenvariablen der Wert zugewiesen Large.

break-Anweisung in Java switch… case

Beachten Sie, dass wir die breakAnweisung in jedem Fallblock verwendet haben. Dies ist hilfreich, um die Anweisung zu beenden.

Wenn die breakAnweisung nicht verwendet wird, werden alle Fälle nach dem übereinstimmenden Fall ausgeführt. Beispielsweise,

 class Main ( public static void main(String() args) ( int expression = 2; // switch statement to check size switch (expression) ( case 1: System.out.println("Case 1"); // matching case case 2: System.out.println("Case 2"); case 3: System.out.println("Case 3"); default: System.out.println("Default case"); ) ) )

Ausgabe

 Fall 2 Fall 3 Standardfall

Im obigen Beispiel haben wir die breakAnweisung nicht verwendet . Hier stimmt der Ausdruck mit überein case 2.

Sie können sehen, dass zusammen mit case 2allen folgenden Fällen auch ausgeführt werden.

Dies ist nicht die gewünschte Ausgabe. Daher ist es notwendig, die breakAnweisung für jeden Fallblock zu verwenden .

Beispiel 2: Erstellen eines Rechners mit der switch-Anweisung

Das folgende Programm nimmt drei Eingaben vom Benutzer entgegen: einen Operator und zwei Zahlen . Basierend auf dem vom Benutzer bereitgestellten Operator führt er die Berechnung für die Zahlen durch. Dann wird das Ergebnis auf dem Bildschirm angezeigt.

Bevor Sie das Programm durchgehen, stellen Sie sicher, dass Sie sich mit Java Scanner auskennen, um Eingaben vom Benutzer entgegenzunehmen.

 import java.util.Scanner; class Main ( public static void main(String() args) ( char operator; Double number1, number2, result; // create an object of Scanner class Scanner input = new Scanner(System.in); // ask users to enter operator System.out.print("Choose an operator: +, -, *, or /: "); operator = input.next().charAt(0); // ask users to enter numbers System.out.print("Enter first number: "); number1 = input.nextDouble(); System.out.println("Enter second number: "); number2 = input.nextDouble(); switch (operator) ( // performs addition between numbers case '+': result = number1 + number2; System.out.print(number1 + "+" + number2 + " = " + result); break; // performs subtraction between numbers case '-': result = number1 - number2; System.out.print(number1 + "-" + number2 + " = " + result); break; // performs multiplication between numbers case '*': result = number1 * number2; System.out.print(number1 + "*" + number2 + " = " + result); break; // performs division between numbers case '/': result = number1 / number2; System.out.print(number1 + "/" + number2 + " = " + result); break; default: System.out.println("Invalid operator!"); break; ) input.close(); ) )

Ausgabe 1

 Wählen Sie einen Operator: +, -, * oder /: + Geben Sie die erste Nummer ein: 23 Geben Sie die zweite Nummer ein: 21 23,0 + 21,0 = 44,0

Ausgabe 2

 Wählen Sie einen Operator: +, -, * oder /: - Geben Sie die erste Nummer ein: 24 Geben Sie die zweite Nummer ein: 13 24.0-13.0 = 11.0

Ausgabe 3

 Wählen Sie einen Operator: +, -, * oder /: * Geben Sie die erste Nummer ein: 12 Geben Sie die zweite Nummer ein: 6 12,0 * 6,0 = 72,0

Ausgabe 4

 Wählen Sie einen Operator: +, -, * oder /: / Erste Nummer eingeben: 36 Zweite Nummer eingeben: 6 36.0 / 6.0 = 6.0

Ausgabe 5

Wählen Sie einen Operator: +, -, * oder / :? Erste Nummer eingeben: 12 Zweite Nummer eingeben: 23 Ungültiger Operator!

Im obigen Beispiel verwenden wir die switch… caseAnweisung, um Addition, Subtraktion, Multiplikation und Division durchzuführen.

Hinweis : Die Java-switch-Anweisung funktioniert nur mit:

  • Java Primitive Datentypen: Byte, Short, Char und Int
  • Java-Aufzählungstypen
  • Java String Class
  • Java Wrapper-Klassen: Zeichen, Byte, Kurz und Ganzzahl.

Interessante Beiträge...