Java komutatora paziņojums (ar piemēriem)

Š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 switchpaziņojums ļauj mums izpildīt koda bloku starp daudzām alternatīvām.

switchIzraksta 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ēc case 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

Java komutatora paziņojuma shē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 breakkatrā paziņojuma blokā izmantojām paziņojumu. Tas ir noderīgi, lai izbeigtu paziņojumu.

Ja breakpaziņ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 breakpaziņojumu. Šeit izteiciens sakrīt ar case 2.

Var redzēt, ka līdz ar case 2to tiek izpildīti arī visi šie gadījumi.

Šī nav vēlamā izeja. Tādējādi ir jāizmanto breakpaziņ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… casepaziņ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.

Interesanti raksti...