Switch Java: The Ultimate Guide to Using Switch Statements in Java Programming
В Java оператор switch используется для выбора одного из нескольких блоков кода для выполнения, в зависимости от значения выражения.
Синтаксис оператора switch выглядит следующим образом:
java
switch (выражение) {
case значение_1:
// код для выполнения, если выражение равно значению_1
break;
case значение_2:
// код для выполнения, если выражение равно значению_2
break;
...
default:
// код для выполнения, если выражение не равно ни одному из значений
}
Здесь выражение должно быть вычисляемым целочисленным типом (byte, short, int, char или enum). Значения могут быть как литералами, так и константами, переменными или выражениями.
Каждое значение объявляется с помощью ключевого слова case, за которым следует значение и двоеточие. Обработка выполняется с помощью блока кода, который следует за каждым значением. Рекомендуется использовать оператор break для выхода из блока switch, чтобы предотвратить выполение блоков кода, следующих за текущим.
В случае, если выражение не соответствует ни одному из значений, выполнится блок кода, объявленный с помощью ключевого слова default.
Пример использования оператора switch:
java
int day = 4;
String dayName;
switch (day) {
case 1:
dayName = "Monday";
break;
case 2:
dayName = "Tuesday";
break;
case 3:
dayName = "Wednesday";
break;
case 4:
dayName = "Thursday";
break;
case 5:
dayName = "Friday";
break;
case 6:
dayName = "Saturday";
break;
case 7:
dayName = "Sunday";
break;
default:
dayName = "Invalid day";
}
System.out.println("Today is " + dayName);
В этом примере переменная day содержит значение 4, поэтому выполнится блок кода, объявленный в case 4. Переменная dayName получит значение "Thursday", и это значение будет выведено в консоль. Если бы значение day было равно 8, то выполнится блок кода в default, и переменная dayName получила бы значение "Invalid day".
Оператор switch является более удобным и понятным, чем множественные условные операторы if-else, особенно в случае, когда нужно сравнивать множество значений. Например, если бы в примере выше использовались условные операторы, код бы выглядел гораздо громоздче и менее читаемым:
java
if (day == 1) {
dayName = "Monday";
} else if (day == 2) {
dayName = "Tuesday";
} else if (day == 3) {
dayName = "Wednesday";
} else if (day == 4) {
dayName = "Thursday";
} else if (day == 5) {
dayName = "Friday";
} else if (day == 6) {
dayName = "Saturday";
} else if (day == 7) {
dayName = "Sunday";
} else {
dayName = "Invalid day";
}