Оператор switch
Начнем с примера.
Вы любите проходить онлайн-тесты? Мы тоже 🙂 Представим себе один такой тест:
Представим, что это тест, который расскажет про ваши черты характера:
Итак, нужно продумать варианты для всех 9 вариантов. Представим, что мы реализуем этот тест с помощью программы на Java. Как нам это сделать?
Вы, наверное, уже знаете, как работать с оператором if. Давайте напишем наш тест с его помощью:
В общем, придется писать много else if:
Тем не менее, есть альтернатива для оператора if, которая подходит именно для таких случаев - когда есть много вариантов значения одной переменной (у нас - переменной String color, которая хранит название вашего любимого цвета). Конечно, мы говорим про оператор switch.
Теперь, наш код, более оптимальный и правильный, будет таким:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
import java.util.Scanner; public class Test { public static void main(String[] args) { System.out.println("Ваш любимый цвет:"); Scanner scan = new Scanner(System.in); String color = scan.nextLine(); switch (color) { case "Белый": System.out.println("Вы добрый и мягкий!"); break; case "Черный": System.out.println("Вы стильный и загадочный!"); break; case "Красный": System.out.println("Вы инициативный и страстный!"); break; case "Оранжевый": System.out.println("Вы позитивный и дружелюбный!"); break; case "Желтый": System.out.println("Вы независимый и трудолюбивый!"); break; //и так далее... } } } |
Как объявляется оператор switch
"Скелет" оператора switch выглядит так:
В скобках могут записываться примитивы (int, long, ...) или Sting (это нововведение, кстати 🙂 ).
Сравним if и switch
В могли заметить, что оператор switch специфический. Он объявляется не так, как вы могли привыкнуть. Например, сравним if и switch:
- В скобках после switch надо писать только название переменной.
- Варианты значения переменной, которые мы указываем после слова case, нужно писать без скобок (но в кавычках, если это String).
- Чтобы обозначить код, который будет выполняться в каждом case, мы используем НЕ скобки {}, а двоеточие (:) и ключевое слово break.
Итак, теперь вы знаете, что делать, если нужно выполнить разные операции в зависимости от значения одной переменной. В таком случае не используйте if и else if - используйте switch! Теперь же вы это умеете 🙂
Надеемся, что наша статья была Вам полезна. Также есть возможность записаться на наши курсы по Java в Киеве. Обучаем с нуля. Детальную информацию Вы можете найти у нас на сайте.