Условные операторы в Java: if-else, switch и «Элвис»
Прокатимся по ключевым операторам выбора в языке программирования Джава, начиная if-else и заканчивая обновлённым switch в Java 12.
30К открытий38К показов
Чтобы эффективно работать с условными операторами на языке 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.
30К открытий38К показов