V tej vadnici se boste naučili uporabljati stavek switch v Javi s pomočjo primerov za nadzor poteka izvajanja vašega programa.
switch
Izjava nam omogoča, da izvede blok kode med mnogimi alternativami.
Sintaksa switch
stavka v Javi je:
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 )
Kako deluje stavek Switch?
Izraz se ovrednoti enkrat in primerja z vrednostmi posamezne nalepke .
- Če obstaja ujemanje, se izvede ustrezna koda po ujemajoči se oznaki primera .
Če je na primer vrednost izraza enaka vrednosti2, se izvede koda pocase value2:
. - Če ni ujemanja, se izvede koda po
default:
.
Opomba : Enako funkcijo lahko izvajamo z uporabo Jave, če … drugače … če lestev. Sintaksa stavka switch pa je čistejša in veliko lažja za branje in pisanje.
Diagram poteka izjave stikala

Primer 1: Izjava o preklopu Java
// 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); ) )
Izhod :
Velikost: velika
V zgornjem primeru smo uporabili stavek switch za iskanje velikosti. Tu imamo spremenljivo številko. Spremenljivka se primerja z vrednostjo vsakega stavka case.
Ker se vrednost ujema s primerom 44 , je spremenljivka velikosti dodeljena z vrednostjo Large
.
izjava break v stikalu Java … primer
Upoštevajte, da smo break
stavek uporabili v vsakem primeru. To je koristno za ukinitev izjave.
Če se break
stavek ne uporablja, se izvedejo vsi primeri po ustreznem primeru. Na primer
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"); ) ) )
Izhod
Primer 2 Primer 3 Privzeti primer
V zgornjem primeru break
stavka nismo uporabili . Tu se izraz ujema z case 2
.
Vidite, da se skupaj z case 2
vsemi naslednjimi primeri tudi izvršujejo.
To ni želeni izhod. Zato je treba break
stavek uporabiti z vsakim blokom primerov .
Primer 2: Izdelava kalkulatorja z uporabo stavka switch
Spodnji program od uporabnika sprejme tri vnose: enega operaterja in dve številki . Na podlagi operaterja, ki ga zagotovi uporabnik, izvede izračun na številkah. Nato se rezultat prikaže na zaslonu.
Preden začnete uporabljati program, se prepričajte, da poznate program Java Scanner, da lahko uporabnik vnese podatke.
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(); ) )
Izhod 1
Izberite operaterja: +, -, * ali /: + Vnesite prvo številko: 23 Vnesite drugo številko: 21 23,0 + 21,0 = 44,0
Rezultat 2
Izberite operaterja: +, -, * ali /: - Vnesite prvo številko: 24 Vnesite drugo številko: 13 24,0-13,0 = 11,0
Rezultat 3
Izberite operaterja: +, -, * ali /: * Vnesite prvo številko: 12 Vnesite drugo številko: 6 12,0 * 6,0 = 72,0
Rezultat 4
Izberite operaterja: +, -, * ali /: / Vnesite prvo številko: 36 Vnesite drugo številko: 6 36,0 / 6,0 = 6,0
Izhod 5
Izberite operaterja: +, -, * ali /:? Vnesite prvo številko: 12 Vnesite drugo številko: 23 Neveljaven operater!
V zgornjem primeru s switch… case
stavkom izvajamo seštevanje, odštevanje, množenje in deljenje.
Opomba : Izjava o preklopu Java deluje samo z:
- Java Primitive podatkovni tipi: byte, short, char in int
- Našteti tipi Java
- Razred Java String
- Razredi Java Wrapper: Znak, Bajt, Kratek in Celo število.