Java switch utasítás (példákkal)

Ebben az oktatóanyagban megtanulja használni a Java-ban található switch utasítást, hogy példák segítségével szabályozza a program végrehajtásának folyamatát.

A switchkijelentés lehetővé teszi számunkra, hogy egy kódblokkot végrehajtsunk számos alternatíva között.

A switchJava állítás szintaxisa :

 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 )

Hogyan működik a switch utasítás?

A kifejezést egyszer értékelik és összehasonlítják az egyes esetek címkéinek értékeivel .

  • Ha van egyezés, akkor a megfelelő kód a megfelelő eset címke után végrehajtásra kerül.
    Például, ha a kifejezés értéke megegyezik2 értékkel, akkor az utána case value2:lévő kód végrehajtásra kerül.
  • Ha nincs egyezés, akkor az utána default:lévő kód végrehajtásra kerül.

Megjegyzés : Ugyanezt a funkciót megtehetjük a Java használatával, ha… másképp … ha létra. A switch utasítás szintaxisa azonban tisztább, és sokkal könnyebben olvasható és írható.

A kapcsoló nyilatkozatának folyamatábra

A Java kapcsoló utasítás folyamatábrája

1. példa: Java switch utasítás

 // 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); ) )

Kimenet :

 Méret: Nagy

A fenti példában a switch utasítást használtuk a méret megtalálásához. Itt van egy változó számunk. A változót összehasonlítjuk az egyes esetek állításainak értékével.

Mivel az érték egyezik a 44. esettel , a méretváltozót értékkel rendeljük hozzá Large.

break utasítás Java switch… ügyben

Figyeljük meg, hogy az breakállítást minden esetben használtuk . Ez hasznos a nyilatkozat megszüntetéséhez.

Ha az breakutasítást nem használják, akkor az illesztési esetet követő összes eset végrehajtásra kerül. Például,

 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"); ) ) )

Kimenet

 2. eset 3. eset Alapértelmezett eset

A fenti példában nem használtuk az breakállítást. Itt a kifejezés egyezik a case 2.

Láthatja, hogy case 2a következővel együtt a következő eseteket is végrehajtják.

Ez nem a kívánt kimenet. Ezért breakminden esetben meg kell adni az utasítást .

2. példa: Számológép készítése a switch utasítással

Az alábbi program három bemenetet vesz fel a felhasználótól: egy operátort és 2 számot . A felhasználó által megadott operátor alapján elvégzi a számításokat. Ezután az eredmény megjelenik a képernyőn.

Mielőtt belépne a programba, győződjön meg arról, hogy ismeri a Java Scanner programot, hogy a felhasználótól bevételt nyerjen.

 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. kimenet

 Válasszon operátort: ​​+, -, * vagy /: + Írja be az első számot: 23 Írja be a második számot: 21 23.0 + 21.0 = 44.0

2. kimenet

 Válasszon operátort: ​​+, -, * vagy /: - Írja be az első számot: 24 Írja be a második számot: 13 24.0-13.0 = 11.0

3. kimenet

 Válasszon operátort: ​​+, -, * vagy /: * Írja be az első számot: 12 Írja be a második számot: 6 12,0 * 6,0 = 72,0

4. kimenet

 Válasszon operátort: ​​+, -, * vagy /: / Írja be az első számot: 36 Írja be a második számot: 6 36.0 / 6.0 = 6.0

5. kimenet

Válasszon operátort: ​​+, -, * vagy /:? Írja be az első számot: 12 Írja be a második számot: 23 Érvénytelen kezelő!

A fenti példában az switch… caseutasítással összeadást, kivonást, szorzást és osztást hajtunk végre.

Megjegyzés : A Java switch utasítás csak a következőkkel működik:

  • Java primitív adattípusok: bájt, rövid, char és int
  • Java felsorolt ​​típusok
  • Java karakterlánc osztály
  • Java Wrapper osztályok: Karakter, Bájt, Rövid és Egész.

érdekes cikkek...