Java If-else

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

if и else являются зарезервированными ключевыми словами в Java и не могут использоваться в качестве других идентификаторов.

1. Синтаксис

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

if(condition) {//statement-1} else {//statement-2}

Условие должно быть булевым выражением и должно оцениваться как true или false. Если условие оценивается как true, выполняется statement-1. В противном случае выполняется statement-2.

Обратите внимание, что блок else необязателен. Мы можем написать оператор как:

if(condition) {//statement-1}

2. Пример «если-иначе»

Давайте рассмотрим пример оператора if-else. В следующей программе мы проверяем, больше ли возраст сотрудника 18 лет. В обоих случаях мы выводим, что сотрудник является несовершеннолетним или совершеннолетним.

int age = employee.getAge();if(age > 18) {System.out.println("Employee is adult");}else {System.out.println("Employee is minor");}

3. Вложенные операторы if-else

Операторы if-else также могут быть вложенными. Внутренние операторы if-else будут выполняться на основе результатов оценки внешних условных операторов.

В следующей программе мы используем оператор else-if для добавления дополнительного условия, которое будет оцениваться только тогда, когда первое условие в блоке if оценивается как ложное.

int age = employee.getAge();if(age > 60) {System.out.println("Employee is retired");} else if(age > 18) { //Executes only when if condition is false i.e. age is less than 60System.out.println("Employee is adult");} else {System.out.println("Employee is minor");}

4. Используйте фигурные скобки для группировки нескольких операторов

Рассмотрим следующую программу:

int num1, num2, num3 = 10;if(num1 > 40)num2 = num2 + 10;num3 = num3 + 10;elsenum2 = num2 - 10;num3 = num3 - 10;

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

В случае нескольких операторов мы должны объединить операторы в один блок операторов с помощью фигурных скобок, например:

if(num1 > 40) {num2 = num2 + 10;num3 = num3 + 10;} else {num2 = num2 - 10;num3 = num3 - 10;}

5. Использование тернарного оператора для замены простого if-else

Мы также можем использовать тернарный оператор вместо простого оператора if-else, чтобы сделать код более кратким и читабельным.

Рассмотрим простой оператор if-else, который проверяет, больше или меньше ли число некоторого значения, и сохраняет значение в переменной.

boolean isAdult;if(age > 18) {isAdult = true;} else {isAdult = false;}

Аналогичные инструкции можно написать с помощью тернарного оператора следующим образом. Посмотрите, как чисто.

boolean isAdult = age > 18 ? true : false;
Прокрутить вверх