У цьому підручнику ви навчитеся використовувати оператор 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 є більш чистим і набагато легшим для читання та запису.
Блок-схема викладу вимикача

Приклад 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: символи, байти, короткі та цілі числа.