Множественный выбор

В некоторых ситуациях вариантов развития событий может быть довольно много, и слишком многословно было бы перечислять их с помощью if — else if — else if — … — else. В таком случае используют оператор множественного выбора switch-case.

Синтаксис:

switch (выражение) {
    case значение1:
        // действия, выполняемые, если выражение равно значению 1
        break;
    case значение2:
        // действия, выполняемые, если выражение равно значению 2
        break;
    default:
        // действия, выполняемые, если выражение
        // не равно ни одному из представленных значений
}

Пример:

public static void main() {
    say(1);
    say(4);
    say(9);
}
public static void say(int n) {
    switch (n) {
        case 0:
            System.out.println('й');
            break;

        case 1:
            System.out.println('ц');
            break;

        case 2:
            System.out.println('у');
            break;

        case 3:
            System.out.println('к');
            break;

        case 4:
            System.out.println('е');
            break;

        default:
            System.out.println('ы');
}

Вывод:

ц
е
ы

Вы, наверное, обратили внимание, что буквы записаны в одинарных кавычках. Один знак (буква, цифра, пунктуация и т. п.), записанный в одинарных кавычках, — это выражение типа char. Например, в выражении char firstLetter = 'a'; переменная firstLetter хранит букву a.

Оператор break внутри switch-case используется для выхода из множественного выбора. Код в switch выполняется от подходящей метки case до ближайшего break либо до конца switch (закрывающей фигурной скобки).

switch (n) {
    case 0:
        System.out.println("Zero");
        break;

    case 1:
        System.out.println("One");
        break;

    case 2:
    case 3:
    case 4:
        System.out.println("2…4");
        break;

    default:
        System.out.println("5+"); // ну, или отрицательно
}
Задачи к уроку Комментарии к уроку

Программирование робота

Роботу известны четыре команды: 'F' — "вперёд", 'B' — "назад", 'L' — "влево", 'R' — "вправо". Выведите слово, соответствующее полученной букве, или "неизвестно", если передана неподдерживаемая команда.

{{ message.data }}

Живые организмы

Выведите "гриб", если передано "белый", "поганка", "плесень"; "растение" — если передано "палисандр", "ясень", "бубинга", "тополь"; "животное" — если передано "кролик", "кот" или "курица".

{{ message.data }}

Сообщить об ошибке