Оператор switch
Оператор switch сравнивает значение выражения
с константами в блоках case и выполняет
код первого совпавшего блока. Если ни одна константа
не совпала, выполняется блок default (если он
указан). Оператор break прерывает выполнение
switch и предотвращает переход к следующим
блокам case. В современном Java оператор
switch может использоваться как в виде
инструкции, так и в виде выражения, возвращающего
значение.
Синтаксис
switch (expression)
{
case value1:
// code
break;
case value2:
// code
break;
default:
// code
}
Пример
Давайте выведем название дня недели по его номеру:
public class Main
{
public static void main(String[] args)
{
int day = 3;
switch (day)
{
case 1:
System.out.println("Monday");
break;
case 2:
System.out.println("Tuesday");
break;
case 3:
System.out.println("Wednesday");
break;
default:
System.out.println("Unknown");
}
}
}
Результат выполнения кода:
"Wednesday"
Пример
Если не указать break, выполнение продолжится
в следующем блоке case. Давайте посмотрим на
такое поведение:
public class Main
{
public static void main(String[] args)
{
int num = 2;
switch (num)
{
case 1:
System.out.println("one");
case 2:
System.out.println("two");
case 3:
System.out.println("three");
break;
default:
System.out.println("other");
}
}
}
Результат выполнения кода:
"two"
"three"
Пример
Современный switch может возвращать значение
через стрелочный синтаксис:
public class Main
{
public static void main(String[] args)
{
int num = 2;
String res = switch (num)
{
case 1 -> "one";
case 2 -> "two";
case 3 -> "three";
default -> "other";
};
System.out.println(res);
}
}
Результат выполнения кода:
"two"