Заява про перемикач Java (з прикладами)

У цьому підручнику ви навчитеся використовувати оператор switch у 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 )

Як працює оператор switch?

Вираз обчислюється один раз і порівнюється зі значеннями кожної мітки справи .

  • Якщо є збіг, відповідний код після відповідного ярлика справи виконується.
    Наприклад, якщо значення виразу дорівнює value2, case value2:виконується код після .
  • Якщо збігу немає, default:виконується код після .

Примітка : Ми можемо робити ту саму функціональність, використовуючи Java, якщо … ще … якщо сходи. Однак синтаксис оператора switch є більш чистим і набагато легшим для читання та запису.

Блок-схема викладу вимикача

Блок-схема оператора перемикача 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); ) )

Вихід :

 Розмір: Великий

У наведеному вище прикладі ми використовували оператор switch, щоб знайти розмір. Тут ми маємо змінну цифру. Змінна порівнюється зі значенням кожного оператора case.

Оскільки значення збігається з випадком 44 , змінної розміру присвоюється значення Large.

оператор break у Java перемикачі … справа

Зверніть увагу, що ми використовували breakоператор у кожному блоці case. Це корисно для припинення заяви.

Якщо 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: Створення калькулятора за допомогою оператора switch

Програма нижче приймає три введення від користувача: один оператор і 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: byte, short, char та int
  • Перелічені типи Java
  • Java String Class
  • Класи обгортки Java: символи, байти, короткі та цілі числа.

Цікаві статті...