If else в Java

Вместо использования двух операторов if вы можете использовать конструкцию if… else. То есть Java пройдет все условия и если значение не походит ни под одно условие, то выполнится последняя часть кода else.

Структура if... else в Java:

if ( Условие ) {
            
}
else {
            
}

Первая строка начинается с if, за которой следует условие, которое вы хотите проверить. Оно идет в двух круглыми скобками. Опять же, фигурные скобки используются для разделения различных вариантов.

Второй вариант идет после слова else и в его собственных фигурных скобках. Else по-английски означает ИНАЧЕ.

Вот еще раз наш код, который проверяет возраст пользователя:

else if в Java

Таким образом, здесь есть только два варианта: пользователю 18 лет или младше и пользователь уже совершеннолетний.

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

Теперь измените значение пользовательской переменной на 20 и снова запустите код. Сообщение в фигурных скобках else должно отображаться в окне вывода.

Java | if ... else if

Вы можете проверить более двух вариантов. Например, что если мы захотим проверить возрастные диапазоны, скажем, от 19 до 39, от 40 и старше? Для более чем двух вариантов в Java можно использовать оператор if... else if.

Структура if... else if такова:

if ( Условие первое) {

}
else if ( Условие второе ) {

}
else {

}

Новая часть здесь:

else if ( Условие второе ) {

} 

Таким образом, первый if проверяет условие номер один (например, 18 лет или младше). Далее идет else if, за ним следуют круглые скобки.

Второе условие идет между этими новыми круглыми скобками. Все, что не поймано первыми двумя условиями, будет поймано последним.

Опять же, код разделен с использованием фигурных скобок, причем каждый if, else if или else имеют свои фигурные скобки. Пропустите одни, и получите сообщения об ошибке.

Прежде чем запускать новый код, вам нужно изучить еще несколько операторов сравнения. Те, которые вы использовали до сих пор, это:

  • > Больше
  • < Меньше
  • >= Больше или равно
  • <= Меньше или равно

Вот еще четыре, которые вы можете использовать:

  • && И
  • || ИЛИ
  • == Равно
  • ! НЕ

Первый представляет собой два символа амперсанда и используется для проверки нескольких условий одновременно. Мы можем использовать его для проверки двух возрастных диапазонов:

else if (user > 18 && user < 40) {

}

Здесь мы хотим проверить, является ли пользователь старше 18, но при этом моложе 40 лет. Помните, мы пытаемся проверить, что находится внутри пользовательской переменной.

Первое условие - «Больше 18» (user > 18). Второе условие - «Менее 40» (user < 40). Между ними есть оператор И &&.

Таким образом, вся строка говорит: «если пользователь старше 18 и пользователь младше 40».

Мы вернемся к остальным трем операторам сравнения через минуту. Напишите такой код:

package conditionalconstructions;

public class OperatorIf {

    public static void main(String[] args) {
        
        int user = 21;       
        
        if (user <= 18) {
            System.out.println("Пользователю 18 лет или он младше");
        }
        else if (user > 18 && user < 40) {
            System.out.println("Пользователю от 19 до 39 лет");
        }
        
        else {
            System.out.println("Пользователь старше 40 лет");
        }
    }
    
}

Запустите эту программу и протестируйте. Прежде чем запускать программу вы уже должны понимать, что она распечатает в окне консоли.

Поскольку наша пользовательской переменной имеет значение 21, то в окне вывода будет отображаться сообщение в фигурных скобках else if.

Упражнение

Измените значение пользовательской переменной с 21 на 45. Теперь должно появиться сообщение из фигурных скобок else кода.

Вы можете добавлять в Java столько else if, сколько хотите.

Предположим, мы хотели проверить, было ли пользователю 45 лет или было 50 лет. Мы можем использовать два новых оператора сравнения из тех, что мы рассматривали выше. Проверяем, имеет ли переменная user значение "45" ИЛИ "50":

else if (user == 45 || user == 50)

Чтобы проверить, имеет ли переменная user то или иное значение, необходимо использовать два знака равенства без пробелов между ними. Java проверит именно эти значения.

Поскольку мы хотим проверить, что user также равен 50, у нас может быть другое условие в тех же круглых скобках: user == 50. Это просто говорит: «проверим, имеет ли значение переменной user значение 50».

Между этими двумя условиями у нас есть оператор ИЛИ. Это два символа, которые находятся слева от стрелки "назад" на английской клавиатуре. Опять же, между ними нет пробела.

Вся строка выше говорит: «если user имеет значение 45 ИЛИ user имеет значение 50».

Вот наш код с новой частью else if:

else if пример

Попробуйте сами. Измените значение пользовательской переменной на 45 и запустите свой код. Затем измените значение на 50 и снова запустите код. В обоих случаях должно отображаться наше новое сообщение.

Различные операторы сравнения могут быть сложны в использовании. Но вы просто протестируете переменную для определенного сравнения. Это просто вопрос выбора правильного оператора сравнения для работы.

Вложенные if в Java

Вы можете вкладывать несколько if условий. (Это также относится к операторам if ... else и if ... else if.) Вложенный оператор if просто означает помещение одного оператора if внутри другого.

Например, предположим, что вы хотите узнать, является ли пользователь младше 18, но старше 16 лет. Вы хотите отобразить иное сообщение для людей старше 16 лет. Начинаем с первого заявления if:

if (user < 19) {
    System.out.println("Пользователю 18 лет или он младше");
}

Чтобы проверить возраст на более 16, вы можете поместить второй оператор if внутри того, который у вас уже есть. Формат такой же:

if (user < 19) {
     if (user > 16 && user < 19) { 
System.out.println("Пользователю 17 или 18 лет");
} }

Таким образом, первый оператор if перехватывает пользовательскую переменную, если она меньше 19. Второй оператор сужает пользовательскую переменную еще больше, для возрастов от 16 до 19 лет. Для печати различных сообщений вы можете использовать конструкцию if ... else:

if (user < 19) {
if (user > 16 && user < 19) {
System.out.println("Пользователю 17 или 18 лет");
}
else {
System.out.println("Пользователь 16 лет или меньше");
}
}

Обратите внимание, где в коде находятся все фигурные скобки: ошибитесь, и ваша программа не запустится.

Вложенные if - выражения могут быть сложными, но все, что пытайтесь их понять, - они помогают сузить выбор.

Итак, в этом уроке мы изучили конструкцию if ... else, а также узнали о вложенных if. В следующем уроке вы узнаете о типе логических переменных.

Дата обновления: 24.07.2019

  • Текущий 0.00/5
  • 1
  • 2
  • 3
  • 4
  • 5

/Рейтинг: 0.0/5 (0 голос(ов) всего)

Добавить комментарий (без регистрации)