Instrucțiune de comutare Java (cu exemple)

În acest tutorial, veți învăța să utilizați instrucțiunea switch în Java pentru a controla fluxul de execuție al programului dvs. cu ajutorul exemplelor.

switchDeclarația ne permite să execute un bloc de cod printre multe alternative.

Sintaxa switchdeclarației din Java este:

 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 )

Cum funcționează declarația switch?

Expresia este evaluată o dată și comparată cu valorile fiecărei etichete de caz .

  • Dacă există o potrivire, se execută codul corespunzător după eticheta de caz potrivită .
    De exemplu, dacă valoarea expresiei este egală cu valoarea 2, codul după case value2:este executat.
  • Dacă nu există nicio potrivire, codul de după default:este executat.

Notă : Putem face aceeași funcționalitate folosind Java dacă … altfel … dacă scară. Cu toate acestea, sintaxa declarației switch este mai curată și mult mai ușor de citit și de scris.

Organigrama declarației de comutare

Diagrama fluxului declarației de comutare Java

Exemplul 1: instrucțiune de comutare 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); ) )

Ieșire :

 Dimensiune: mare

În exemplul de mai sus, am folosit instrucțiunea switch pentru a găsi dimensiunea. Aici avem un număr variabil. Variabila este comparată cu valoarea fiecărei instrucțiuni de caz.

Deoarece valoarea se potrivește cu cazul 44 , variabila de dimensiune este atribuită cu valoare Large.

instrucțiune break în comutatorul Java … caz

Observați că am folosit breakdeclarația în fiecare bloc de caz. Acest lucru este util pentru a rezilia declarația.

Dacă breakinstrucțiunea nu este utilizată, toate cazurile după cazul de potrivire sunt executate. De exemplu,

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

Ieșire

 Cazul 2 Cazul 3 Caz implicit

În exemplul de mai sus, nu am folosit breakdeclarația. Aici, expresia se potrivește cu case 2.

Puteți vedea că împreună cu case 2toate cazurile următoare sunt, de asemenea, executate.

Aceasta nu este ieșirea dorită. Prin urmare, este necesar să utilizați breakinstrucțiunea cu fiecare bloc de caz .

Exemplul 2: Realizarea calculatorului folosind instrucțiunea switch

Programul de mai jos ia trei intrări de la utilizator: un operator și 2 numere . Pe baza operatorului furnizat de utilizator, acesta efectuează calculul asupra numerelor. Apoi, rezultatul este afișat pe ecran.

Înainte de a parcurge programul, asigurați-vă că știți despre Java Scanner pentru a primi informații de la utilizator.

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

Ieșire 1

 Alegeți un operator: +, -, * sau /: + Introduceți primul număr: 23 Introduceți al doilea număr: 21 23,0 + 21,0 = 44,0

Ieșire 2

 Alegeți un operator: +, -, * sau /: - Introduceți primul număr: 24 Introduceți al doilea număr: 13 24.0-13.0 = 11.0

Ieșire 3

 Alegeți un operator: +, -, *, sau /: * Introduceți primul număr: 12 Introduceți al doilea număr: 6 12,0 * 6,0 = 72,0

Ieșire 4

 Alegeți un operator: +, -, * sau /: / Introduceți primul număr: 36 Introduceți al doilea număr: 6 36,0 / 6,0 = 6,0

Ieșire 5

Alegeți un operator: +, -, *, sau /:? Introduceți primul număr: 12 Introduceți al doilea număr: 23 Operator nevalid!

În exemplul de mai sus, folosim switch… casedeclarația pentru a efectua adunarea, scăderea, înmulțirea și împărțirea.

Notă : Instrucțiunea Java switch funcționează numai cu:

  • Tipuri de date Java Primitive: octet, scurt, caracter și int
  • Tipuri Java enumerate
  • Java String Class
  • Clasele Java Wrapper: caracter, octet, scurt și întreg.

Articole interesante...