Šajā apmācībā jūs iemācīsities izmantot slēdzi Java, lai ar piemēru palīdzību kontrolētu programmas izpildes plūsmu.
Šis switch
paziņojums ļauj mums izpildīt koda bloku starp daudzām alternatīvām.
switch
Izraksta sintakse Java valodā ir šāda:
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 )
Kā slēdzis darbojas?
Izteiksme tiek novērtēta vienu reizi un salīdzināta ar katra gadījuma etiķetes vērtībām .
- Ja ir atbilstība, tiek izpildīts atbilstošais kods pēc atbilstošās lietas etiķetes .
Piemēram, ja izteiksmes vērtība ir vienāda ar vērtību 2, kods pēccase value2:
tiek izpildīts. - Ja nav atbilstības,
default:
tiek izpildīts kods pēc .
Piezīme : Mēs varam darīt to pašu funkcionalitāti, izmantojot Java, ja … citādi … ja kāpnes. Tomēr slēdža paziņojuma sintakse ir tīrāka un daudz vieglāk lasāma un rakstāma.
Slēdža paziņojuma blokshēma

1. piemērs: Java komutatora paziņojums
// 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); ) )
Izeja :
Izmērs: liels
Iepriekš minētajā piemērā mēs izmantojām slēdzi, lai atrastu izmēru. Šeit mums ir mainīgs skaitlis. Mainīgo salīdzina ar katra gadījuma paziņojuma vērtību.
Tā kā vērtība sakrīt ar 44. gadījumu , lieluma mainīgajam tiek piešķirta vērtība Large
.
pārtraukuma paziņojums Java slēdzī… gadījums
Ievērojiet, ka mēs break
katrā paziņojuma blokā izmantojām paziņojumu. Tas ir noderīgi, lai izbeigtu paziņojumu.
Ja break
paziņojums netiek izmantots, tiek izpildīti visi gadījumi pēc saskaņošanas gadījuma. Piemēram,
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"); ) ) )
Rezultāts
2. gadījums 3. gadījums Noklusējuma gadījums
Iepriekš minētajā piemērā mēs neesam izmantojuši break
paziņojumu. Šeit izteiciens sakrīt ar case 2
.
Var redzēt, ka līdz ar case 2
to tiek izpildīti arī visi šie gadījumi.
Šī nav vēlamā izeja. Tādējādi ir jāizmanto break
paziņojums ar katru gadījumu bloku .
2. piemērs: Kalkulatora izgatavošana, izmantojot slēdzi
Zemāk redzamā programma no lietotāja ņem trīs ievades: vienu operatoru un 2 numurus . Pamatojoties uz lietotāja sniegto operatoru, tas veic skaitļu aprēķinu. Tad rezultāts tiek parādīts ekrānā.
Pirms iziet programmu, pārliecinieties, vai zināt Java Scanner, lai ņemtu ievadi no lietotāja.
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(); ) )
1. izeja
Izvēlieties operatoru: +, -, * vai /: + Ievadiet pirmo numuru: 23 Ievadiet otro numuru: 21 23,0 + 21,0 = 44,0
2. izeja
Izvēlieties operatoru: +, -, * vai /: - Ievadiet pirmo numuru: 24 Ievadiet otro numuru: 13 24,0-13,0 = 11,0
3. izeja
Izvēlieties operatoru: +, -, * vai /: * Ievadiet pirmo numuru: 12 Ievadiet otro numuru: 6 12,0 * 6,0 = 72,0
4. izeja
Izvēlieties operatoru: +, -, * vai /: / Ievadiet pirmo numuru: 36 Ievadiet otro numuru: 6 36.0 / 6.0 = 6.0
5. izeja
Izvēlieties operatoru: +, -, * vai /:? Ievadiet pirmo numuru: 12 Ievadiet otro numuru: 23 Nederīgs operators!
Iepriekš minētajā piemērā mēs izmantojam switch… case
paziņojumu, lai veiktu saskaitīšanu, atņemšanu, reizināšanu un dalīšanu.
Piezīme . Java komutatora paziņojums darbojas tikai ar:
- Java primitīvie datu tipi: baits, īss, char un int
- Java Uzskaitītie veidi
- Java stīgu klase
- Java iesaiņotāju klases: raksturs, baits, īss un vesels skaitlis.