I denne vejledning lærer du at bruge switch-erklæringen i Java til at styre strømmen af dit programs udførelse ved hjælp af eksempler.
Det switch
udsagn giver os mulighed for at udføre en blok af kode blandt mange alternativer.
Syntaksen for switch
udsagnet i Java er:
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 )
Hvordan fungerer switch-erklæringen?
Udtrykket evalueres en gang og sammenlignes med værdierne for hver enkelt sagsmærkat .
- Hvis der er et match, den tilsvarende kode efter den matchende sagen etiketten udføres.
For eksempel, hvis udtrykets værdi er lig med værdi2,case value2:
udføres koden efter . - Hvis der ikke er nogen match,
default:
udføres koden efter .
Bemærk : Vi kan gøre den samme funktionalitet ved hjælp af Java, hvis … ellers … hvis stigen. Syntaksen for switch-erklæringen er dog renere og meget lettere at læse og skrive.
Flowchart of switch Erklæring

Eksempel 1: Java-switch-sætning
// 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); ) )
Output :
Størrelse: Stor
I ovenstående eksempel har vi brugt switch-erklæringen til at finde størrelsen. Her har vi et variabelt tal. Variablen sammenlignes med værdien af hver sagsopgørelse.
Da værdien matcher tilfældet 44 , tildeles størrelsesvariablen værdien Large
.
pause erklæring i Java switch … sag
Bemærk, at vi har brugt break
udsagnet i hver enkelt blok. Dette er nyttigt at afslutte udsagnet.
Hvis break
erklæringen ikke bruges, udføres alle sagerne efter den matchende sag. For eksempel,
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
Sag 2 Sag 3 Standardsag
I ovenstående eksempel har vi ikke brugt break
udsagnet. Her matcher udtrykket med case 2
.
Du kan se, at case 2
alle følgende sager også udføres sammen med.
Dette er ikke det ønskede output. Derfor er det nødvendigt at bruge break
erklæringen med hver sagsblok .
Eksempel 2: Oprettelse af lommeregner ved hjælp af switch-sætningen
Programmet nedenfor tager tre input fra brugeren: en operatør og 2 numre . Baseret på operatøren leveret af brugeren udfører den beregningen på tallene. Derefter vises resultatet på skærmen.
Inden du går igennem programmet, skal du sørge for at kende til Java Scanner for at tage input fra brugeren.
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(); ) )
Udgang 1
Vælg en operatør: +, -, * eller /: + Indtast første nummer: 23 Indtast andet nummer: 21 23,0 + 21,0 = 44,0
Udgang 2
Vælg en operatør: +, -, * eller /: - Indtast første nummer: 24 Indtast andet nummer: 13 24,0-13,0 = 11,0
Udgang 3
Vælg en operatør: +, -, * eller /: * Indtast første nummer: 12 Indtast andet nummer: 6 12,0 * 6,0 = 72,0
Udgang 4
Vælg en operatør: +, -, * eller /: / Indtast første nummer: 36 Indtast andet nummer: 6 36,0 / 6,0 = 6,0
Udgang 5
Vælg en operatør: +, -, * eller /:? Indtast første nummer: 12 Indtast andet nummer: 23 Ugyldig operatør!
I eksemplet ovenfor bruger vi switch… case
udsagnet til at udføre addition, subtraktion, multiplikation og division.
Bemærk : Java-switch-erklæringen fungerer kun med:
- Java-primitive datatyper: byte, kort, char og int
- Java Opregnede typer
- Java strengklasse
- Java Wrapper-klasser: Karakter, Byte, Kort og Heltal.