Найти в Дзене
тотСамыйАйтишник

#13 Java: Условный оператор "if".

Java: План и дорожная карта развития + СОДЕРЖАНИЕ.

статья №12 Java: ч.3 Классы обертки примитивных типов данных (статические методы и константы).

Приветствую Тебя, мой дорогой друг. Наконец-то добрались до условных конструкций, а начнем с условного оператора "if".

Java.
Java.

Абсолютно любая программа или скрипт, состоит из последовательного набора команд, которые само-собой выполняются друг за другом. Ну а причем здесь оператор "if"? А притом, чтобы у нас как у разработчиков, была возможность, изменять порядок выполнения - этих самых последовательных действий или создавать программные ответвления, конечно же в зависимости от определенного условия которые мы сами зададим.

В зависимости от результата условия, будет выполнен тот или иной блок с командами.
В зависимости от результата условия, будет выполнен тот или иной блок с командами.

Для того чтобы задать условие, ты уже наверняка понял, начать необходимо со служебного слова "if"(с англ."если"), важно, пишем в нижнем регистре символов, иначе ошибка. Ну, а после, открывающая и закрывающая символы круглых скобок "if()". Внутри круглых скобок, мы вольны писать любое условие, ограничивает нас может только поставленная задача. Для написания условий, нам очень помогут операторы сравнения, которые мы ранее проходили в одноименной статье Операторы сравнения жмякай, чтобы вспомнить или наоборот узнать что-то новенькое. После написания условия, следует блок команд, который обрамляется фигурными скобочками "{}", после чего приобретает вид "if(условие){команды}".

Для примера давайте найдем максимальное значение среди двух переменных. Запускаем IDE Apache NetBeans или другой редактор кода, в начале объявим и инициализируем две переменные "x" и "y". Переменной "x" присвоим значение 5, а переменной "y" присвоим значение 4. Далее пишем условный оператор "if", не забываем про круглые скобочки "if()", внутри скобочек, нам нужно прописать условие которое проверит значение переменной "x" на то что оно больше значения переменной "y", для этого воспользуемся оператором сравнения, символ знака больше ">". По левую сторону от знака больше ">", операнд который будет сравниваться с операндом который по правую сторону. Если результат от проверки условия будет "true", которое говорит нам что "x" действительно больше "y", то программа выполнит все те команды которые обрамлены фигурными скобками, а команда там одна, вывод на консоль сообщения "System.out.println("Переменная X больше Y");".

Оператор if.
Оператор if.

А если окажется, что "y" больше "x", ну не менять же нам ручками условие каждый раз. Для этого, есть еще одно служебное слово "else" - что значит "иначе", то есть, противоположность результату выполненного условия "if". Повторюсь, для того чтобы выполнился командный блок условия "if", необходим результат "true", а для командного блока "else" результат необходим "false". Меняем значение переменной "y" на большее, пусть будет 6. На строке с закрывающим символом фигурной скобки "}", пишем слово "else" и так же как у "if" с помощью фигурных скобок создаем командный блок, в него добавим вывод на консоль, говорящую о том что переменная "y" больше "x" - "System.out.println("Переменная Y больше X");".

Оператор if и else.
Оператор if и else.

Для краткости записи, если количество команд не более одной, то фигурные скобочки писать не обязательно.

Оператор if и else.
Оператор if и else.

Вложенные операторы "if"- это операторы находящиеся внутри командного блока главного оператора "if", используется для более точного условия или необходимы дополнительные условия проверки. Как фильтр воды, первый отсекает грязь, а последующие металлы, хлор и тд. Немного изменим наш пример, проверка будет осуществляться только в том случае если обе переменные не равны нулю. Главное условие "if(x != 0 && y != 0)" которое отсекает возможность входа в командный блок при "x" равному нулю и "y" равному нулю, если они не равны нулю, то идем далее к вложенному "if" с проверкой на максимальное значение.

Вложенный if.
Вложенный if.

А что если после "else" нам понадобится полноценное условие "if", да без проблем пишем "else if (...)".Для примера возьмем программку которая по номеру месяца будет выводить время года. Первое условие "if (monthNum > 0 && monthNum < 13)" исключает все ошибочные значения которые не относятся к нашему диапазону от 1 до 12, если все же мы ошибаемся, то получим соответствующее сообщение "System.out.println("Нет такого месяца!")". Теперь вложенные условия которые разбивают наш период на времена года, 12, 1, 2 - это зима, 3, 4, 5 - это весна, 6, 7, 8 - это лето, ну 9, 10, 11 - это соответственно осень. Почему не указали номера для осени? Потому что, если номер не найдет своего условия, то попадет в блок "else", по логике, только значения 9, 10, 11 не смогут найти своего условия так как ранее все значения которые не входят в диапазон от 1 до 12 мы отсекли, так что нет смысла перегружать программу лишними условиями. Если возник вопрос "Что это за символы || и && ?" то вам сюда Операторы сравнения.

Вложенный if.
Вложенный if.

Ну и на последок еще один пример, найдем максимальное значение среди трех переменных. Предположим что "x" имеет максимальное значение, пишем условие проверки "if(x > y && x > z)", ну и не забываем что результат может оказаться не "true", значит проверим вторую переменную "y", пишем условие для нее "else if(y > x && y > z)", ну и если "x" и "y" не имеют максимального значения, то третья переменная "z" определенно имеет, без написания условия, просто выводим ее на консоль.

Максимально среди трех переменных.
Максимально среди трех переменных.

А как из трех переменных, найти максимальное значение не прибегая к помощи условным операторам(решение в одну строчку;), подсказка)? В следующей статье будет решение, но прежде чем переходить на нее, попробуй решить сам.

Для домашней работы, найти максимальное и минимальное для четырех переменных.

Модернизировать программу вывода времени года так чтобы она еще выводила наименование месяца.

До встречи в следующей статье ;).

статья №14 Java: Тернарный оператор "?".

Поставь лайк если понравилась статья, тебе всего лишь "клик", а мне радости полные штаны =).

Подписывайся на канал, будет много интересных публикаций =).