Заявление переключателя 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?

Выражение оценивается один раз и сравнивается со значениями каждой метки case .

  • Если есть совпадение, выполняется соответствующий код после соответствующей метки case .
    Например, если значение выражения равно значению 2, выполняется код после case value2:.
  • Если совпадений нет, выполняется код после default:.

Примечание . Те же функции можно реализовать с помощью лестничной логики Java if… else… if. Однако синтаксис оператора switch чище и его гораздо легче читать и писать.

Блок-схема Switch Statement

Блок-схема оператора переключения 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 switch… case

Обратите внимание, что мы использовали 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оператор с каждым блоком case .

Пример 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 Primitive: byte, short, char и int
  • Перечислимые типы Java
  • Класс Java String
  • Классы оболочки Java: символьные, байтовые, короткие и целочисленные.

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