Оператор case
Оператор case используется внутри конструкции switch для определения конкретного значения, при совпадении с которым выполняется соответствующий блок кода. В первом параметре оператора указывается константное значение или литерал, с которым сравнивается переменная. Если значение совпадает, выполняется код, расположенный после двоеточия, до первого оператора break или до конца блока switch.
Синтаксис
switch (variable)
{
case value1:
// code block 1
break;
case value2:
// code block 2
break;
default:
// default code block
}
Пример
Давайте проверим значение переменной num и выведем соответствующее сообщение для числа 2:
public class Main
{
public static void main(String[] args)
{
int num = 2;
switch (num)
{
case 1:
System.out.println("One");
break;
case 2:
System.out.println("Two");
break;
case 3:
System.out.println("Three");
break;
default:
System.out.println("Unknown");
}
}
}
Результат выполнения кода:
"Two"
Пример
Если не использовать оператор break, произойдет "проваливание" выполнения в следующую ветку. Давайте рассмотрим это на примере:
public class Main
{
public static void main(String[] args)
{
int num = 1;
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("Unknown");
}
}
}
Результат выполнения кода:
"One"
"Two"
"Three"
Пример
Начиная с Java 14, оператор case поддерживает стрелочный синтаксис, который не требует использования break. Давайте перепишем первый пример с использованием нового синтаксиса:
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");
default -> System.out.println("Unknown");
}
}
}
Результат выполнения кода:
"Two"