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