Изявление за превключване на Java (с примери)

В този урок ще се научите да използвате инструкцията за превключване в Java, за да контролирате потока на изпълнението на вашата програма с помощта на примери.

В switchизявлението ни позволява да изпълнява блок от код сред много алтернативи.

Синтаксисът на switchизраза в Java е:

 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 )

Как работи инструкцията за превключване?

Изразът се оценява веднъж и се сравнява със стойностите на всеки етикет за всеки случай .

  • Ако има съвпадение, съответният код след съответстващия етикет на случай се изпълнява.
    Например, ако стойността на израза е равна на value2, кодът след case value2:се изпълнява.
  • Ако няма съвпадение, кодът след default:се изпълнява.

Забележка : Можем да направим същата функционалност, използвайки Java, ако … иначе … ако стълба. Синтаксисът на оператора за превключване обаче е по-чист и много по-лесен за четене и писане.

Блок-схема на декларацията за превключване

Блок-схема на оператора за превключване на Java

Пример 1: Изявление за превключване на 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); ) )

Изход :

 Размер: Голям

В горния пример използвахме оператора за превключване, за да намерим размера. Тук имаме променливо число. Променливата се сравнява със стойността на всеки отделен случай.

Тъй като стойността съвпада с случай 44 , променливата на размера се присвоява със стойност Large.

изявление за прекъсване в Java switch … случай

Забележете, че сме използвали breakизявлението във всеки отделен случай. Това е полезно за прекратяване на изявлението.

Ако breakизразът не се използва, всички случаи след съответстващия случай се изпълняват. Например,

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

Изход

 Дело 2 Дело 3 Дело по подразбиране

В горния пример не сме използвали breakизявлението. Тук изразът съвпада с case 2.

Виждате, че заедно с case 2това се изпълняват и всички следващи дела.

Това не е желаният изход. Следователно е необходимо да се използва breakизявлението с всеки отделен случай .

Пример 2: Създаване на калкулатор с помощта на оператора за превключване

Програмата по-долу взема три входа от потребителя: един оператор и 2 числа . Въз основа на оператора, предоставен от потребителя, той извършва изчислението на числата. След това резултатът се показва на екрана.

Преди да преминете през програмата, уверете се, че знаете за Java Scanner, за да вземете информация от потребителя.

 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

 Изберете оператор: +, -, * или /: + Въведете първо число: 23 Въведете второ число: 21 23.0 + 21.0 = 44.0

Изход 2

 Изберете оператор: +, -, * или /: - Въведете първо число: 24 Въведете второ число: 13 24.0-13.0 = 11.0

Изход 3

 Изберете оператор: +, -, * или /: * Въведете първо число: 12 Въведете второ число: 6 12,0 * 6,0 = 72,0

Изход 4

 Изберете оператор: +, -, * или /: / Въведете първо число: 36 Въведете второ число: 6 36,0 / 6,0 = 6,0

Изход 5

Изберете оператор: +, -, * или /:? Въведете първо число: 12 Въведете второ число: 23 Невалиден оператор!

В горния пример използваме switch… caseизраза за извършване на събиране, изваждане, умножение и деление.

Забележка : Изявлението за превключване на Java работи само с:

  • Java примитивни типове данни: байт, кратък, char и int
  • Изброени типове Java
  • Java String Class
  • Класове на Java Wrapper: Символ, байт, кратък и цяло число.

Интересни статии...