Условные операторы в Java: if-else, switch и «Элвис»
Прокатимся по ключевым операторам выбора в языке программирования Джава, начиная if-else и заканчивая обновлённым switch в Java 12.
34К открытий46К показов
Чтобы эффективно работать с условными операторами на языке Java, необходимо знать, какими они бывают и для каких сценариев подходят. Обсудим это и некоторые нововведения из Java 13.
Условный оператор if
Оператор if позволяет задать условие, в соответствии с которым дальнейшая часть программы может быть выполнена. Это основной оператор выбора, который используется в языке Java. Он начинается с ключевого слова if и продолжается булевым выражением — условием, заключённым в круглые скобки.
В качестве примера рассмотрим простое равенство, при истинности которого программа выведет результат:
Поскольку условие истинно, в выводе программы мы увидим:
Условный оператор if-else в Java
else в языке Java означает «в ином случае». То есть если условие if не является истинным, выводится то, что в блоке else:
Вывод:
Это же сработает и без ключевого слова else, но чтобы код был читабельным и логичным, не следует пренебрегать else, как это сделано в следующем примере:
А теперь давайте создадим несколько условий с использованием конструкции if-else. Выглядит это таким образом:
Вывод:
Как видим, только третье условие истинно, поэтому выводится именно a = 20, а все остальные блоки игнорируются.
Вложенный if
Кроме того, может производиться проверка сразу на несколько условий, в соответствии с которыми выполняются разные действия. Представим, что у нас есть две переменные, на основе которых можно создать два условия:
Вывод:
В результате программа заходит в оба блока и делает два вывода, потому как оба условия истинны.
«Элвис»
По сути, это сокращенный вариант if-else. Элвисом его прозвали за конструкцию, которая напоминает причёску короля рок-н-ролла — ?:. Данный оператор также принято называть тернарным. Он требует три операнда и позволяет писать меньше кода для простых условий.
Само выражение будет выглядеть следующим образом:
Вывод:
Как видите, с помощью тернарного оператора можно существенно сократить код. Но не стоит им злоупотреблять: для сложных условий используйте другие операторы выбора Java, дабы не ухудшать читаемость кода.
Условный оператор switch в Java
Оператор выбора switch позволяет сравнивать переменную как с одним, так и с несколькими значениями. Общая форма написания выглядит следующим образом:
Рассмотрим распространённый пример с днями недели:
Вывод:
break при этом прерывает процесс проверки, поскольку соответствие условия уже найдено. Но начиная с Java 13, вместо break в условном операторе switch правильнее использовать yield — ключевое слово, которое не только завершает проверку, но и возвращает значение блока.
Кроме того, с 12 версии Java конструкция switch-case также претерпела некоторые изменения. Если вы используете в работе IntelliJ IDEA, данная среда разработки сама подскажет, как оптимизировать switch-case под новые версии.
Вот преобразованный код из нашего примера с некоторыми изменениями:
Вывод:
Задачи на условные операторы Java
Определите, что выведут в консоль следующие примеры, без проверки в компиляторе.
1. В переменной min лежит число от 0 до 59. Определите в какую четверть часа попадает это число (в первую, вторую, третью или четвертую):
2. Что выведет следующий код:
3. Какое значение будет присвоено переменной k:
Пишите свои ответы к задачам по условным операторам в Java.
34К открытий46К показов



