Освоение оператора switch в Java: синтаксис, использование и лучшие практики
Оператор switch в Java
Узнайте, как оператор switch управляет потоком программы с наглядными примерами и лучшими практиками.
Оператор switch позволяет выполнить один блок кода из нескольких альтернатив на основе значения выражения.
Синтаксис оператора switch в Java:
switch (expression) {
case value1:
// код
break;
case value2:
// код
break;
...
default:
// операторы по умолчанию
}
Как работает switch-case?
Выражение expression вычисляется один раз и сравнивается со значениями каждого case.
- Если expression совпадает с value1, выполняется код внутри
case value1. Аналогично для value2. - Если совпадений нет, выполняется блок default.
Примечание: Функционально похоже на лестницу if…else, но switch предлагает чище и более читаемый синтаксис.
Пример: Оператор switch в Java
// Программа на Java для проверки размера
// с использованием switch...case
class Main {
public static void main(String[] args) {
int number = 44;
String size;
// switch для проверки размера
switch (number) {
case 29:
size = "Small";
break;
case 42:
size = "Medium";
break;
// совпадение значения week
case 44:
size = "Large";
break;
case 48:
size = "Extra Large";
break;
default:
size = "Unknown";
break;
}
System.out.println("Размер: " + size);
}
}
Вывод:
Размер: Large
В примере переменная number сравнивается с каждым case. Когда number равно 44, выполняется блок case 44, присваивая Large переменной size.
Переменная size получает значение Large, и программа выводит Size: Large.
Рекомендуемое чтение: Создание простого калькулятора с использованием switch в Java
Блок-схема оператора switch

Оператор break в switch…case
Каждый блок case обычно заканчивается break, чтобы предотвратить случайный fall-through (провал).
...
case 29:
size = "Small";
break;
...
Без break выполнение продолжается в последующие case даже после совпадения. Например:
class Main {
public static void main(String[] args) {
int expression = 2;
// switch для проверки размера
switch (expression) {
case 1:
System.out.println("Case 1");
// совпадающий case
case 2:
System.out.println("Case 2");
case 3:
System.out.println("Case 3");
default:
System.out.println("Default case");
}
}
}
Вывод
Case 2 Case 3 Default case
Поскольку break опущен, после совпадения case 2 программа выполнила case 3 и блок default. Включение break после каждого case гарантирует выполнение только совпадающего блока.
Подробнее: Оператор break в Java.
Блок default в switch-case
Клауза default опциональна и выполняется, когда ни одно значение case не совпало. Например:
class Main {
public static void main(String[] args) {
int expression = 9;
switch(expression) {
case 2:
System.out.println("Small Size");
break;
case 3:
System.out.println("Large Size");
break;
// default case
default:
System.out.println("Unknown Size");
}
}
}
Вывод
Unknown Size
Так как expression (9) не совпал ни с одним case, выполнился блок default, выводя Unknown Size.
Примечание: Оператор switch в Java поддерживает следующие типы:
- Примитивные типы: byte, short, char, int
- Перечисления (enums)
- Класс String
- Обертки: Character, Byte, Short, Integer
java
- Освоение оператора switch в C#: синтаксис, примеры и лучшие практики
- Освоение оператора switch-case в C++: синтаксис, работа и практические примеры
- Освоение операторов Java: типы, синтаксис и практические примеры
- Комментарии в Java: типы, использование и лучшие практики
- Освоение улучшенного цикла for в Java: синтаксис, примеры и лучшие практики
- Освоение строк в Java: создание, методы и лучшие практики
- Интерфейсы в Java: концепции, реализация и лучшие практики
- Try-with-resources в Java: автоматическое управление ресурсами
- Аннотации в Java: типы, размещение и практические примеры
- Оператор switch-case в C++: синтаксис, применение и практические примеры