I den här handledningen lär du dig att använda switch-uttalandet i Java för att styra flödet av ditt programs körning med hjälp av exempel.
Det switch
uttalandet ger oss möjlighet att utföra ett kodblock bland många alternativ.
Syntaxen för switch
uttalandet i Java är:
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 )
Hur fungerar switch-uttalandet?
Uttrycket utvärderas en gång och jämförs med värdena för varje falletikett .
- Om det finns en matchning körs motsvarande kod efter matchande falletikett .
Till exempel, om uttryckets värde är lika med värde2, körs koden eftercase value2:
. - Om det inte finns någon matchning
default:
körs koden efter .
Obs : Vi kan göra samma funktionalitet med Java om … annars … om stege. Syntaxen för switch-uttalandet är dock renare och mycket lättare att läsa och skriva.
Flödesschema för omkopplare

Exempel 1: Java-switchuttalande
// 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); ) )
Utgång :
Storlek: Stor
I exemplet ovan har vi använt switch-uttalandet för att hitta storleken. Här har vi ett variabelt antal. Variabeln jämförs med värdet för varje falluttalande.
Eftersom värdet matchar fall 44 tilldelas storleksvariabeln värde Large
.
bryta uttalande i Java switch … fall
Observera att vi har använt break
uttalandet i varje enskilt fall. Detta är till hjälp för att avsluta uttalandet.
Om break
uttalandet inte används utförs alla ärenden efter matchande ärende. Till exempel,
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"); ) ) )
Produktion
Fall 2 Fall 3 Standardfall
I exemplet ovan har vi inte använt break
uttalandet. Här matchar uttrycket med case 2
.
Du kan se att case 2
alla följande ärenden utförs tillsammans med.
Detta är inte den önskade utgången. Därför är det nödvändigt att använda break
uttalandet med varje fallblock .
Exempel 2: Göra miniräknare med hjälp av switchuttrycket
Programmet nedan tar tre ingångar från användaren: en operatör och två nummer . Baserat på operatören som tillhandahålls av användaren utför den beräkningen på siffrorna. Därefter visas resultatet på skärmen.
Innan du går igenom programmet, se till att du känner till Java Scanner för att ta in input från användaren.
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(); ) )
Utgång 1
Välj en operatör: +, -, * eller /: + Ange första nummer: 23 Ange andra nummer: 21 23.0 + 21.0 = 44.0
Utgång 2
Välj en operatör: +, -, * eller /: - Ange första nummer: 24 Ange andra nummer: 13 24.0-13.0 = 11.0
Utgång 3
Välj en operatör: +, -, * eller /: * Ange första nummer: 12 Ange andra nummer: 6 12,0 * 6,0 = 72,0
Utgång 4
Välj en operatör: +, -, * eller /: / Ange första nummer: 36 Ange andra nummer: 6 36,0 / 6,0 = 6,0
Utgång 5
Välj en operatör: +, -, * eller /:? Ange första nummer: 12 Ange andra nummer: 23 Ogiltig operatör!
I exemplet ovan använder vi switch… case
uttalandet för att utföra addition, subtraktion, multiplikation och division.
Obs! Java-växlaruttalandet fungerar bara med:
- Java Primitive datatyper: byte, kort, char och int
- Java Räknade typer
- Java-strängklass
- Java Wrapper Classes: Character, Byte, Short och Integer.