1. Оператор if-else

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

В Java это реализовано с помощью условного оператора – специального ключевого слова, которое позволяет выполнять разные блоки команд в зависимости от правдивости условия.

Условный оператор состоит из трех частей: условия, команды 1 и команды 2. Если условие верно (истинно), выполняется команда 1, иначе выполняется команда 2. Команды никогда не выполняются одновременно. Общий вид этого оператора таков:

if (условие)
   команда1;
else
   команда2;
Условный оператор if-else

if переводится как «если», а else как «иначе». Человеческим языком это можно записать так:

Если условие истинно, то
   выполнить команда1;
иначе
   выполнить команда2;
Условный оператор if-else человеческим языком

Примеры:

Код Пояснение
int age = 17;
if (age < 18)
   System.out.println("Вы еще ребенок");
else
   System.out.println("Вы уже взрослый");
На экран будет выведена надпись:
Вы еще ребенок
int temperature = 5;
if (temperature < 0)
   System.out.println("На улице мороз");
else
   System.out.println("Тепло");
На экран будет выведена надпись:
Тепло
int age = 18;
if (age == 18)
   System.out.println("Явитесь в военкомат");
else
   System.out.println("Все равно явитесь");
На экран будет выведена надпись:
Явитесь в военкомат

undefined
3
Задача
Java Syntax Pro, 3 уровень, 3 лекция
Недоступна
Тепло или холодно
Ввести с клавиатуры температуру на улице. Если температура меньше 0, вывести надпись "на улице холодно", иначе - вывести надпись "на улице тепло".
undefined
3
Задача
Java Syntax Pro, 3 уровень, 3 лекция
Недоступна
Призывная кампания
Ввести с клавиатуры имя и возраст. Если возраст в пределах 18-28 (включительно), то вывести надпись "Имя, явитесь в военкомат", где Имя - это имя, введенное ранее с клавиатуры. Пример ввода: Amigo 18 Пример вывода: Amigo, явитесь в военкомат

2. Блок команд

Если при выполнении (или невыполнении) условия вы хотите, чтобы ваша программа исполнила несколько команд, их можно объединить в блок команд.

Чтобы объединить команды в блок, нужно «завернуть» их в фигурные скобки. Вот как это выглядит в общем случае:

{
   команда1;
   команда2;
   команда3;
}

Команд в блоке может быть сколько угодно. И даже ноль.

Примеры сочетания оператора if-else и блока команд:

Код Пояснение
int age = 17;
if (age < 18)
{
   System.out.println("Ты еще ребенок");
   System.out.println("Не спорь со взрослыми");
}
else
{
   System.out.println("Вы уже взрослый");
   System.out.println("Ну и молодежь пошла");
}
На экран будет выведена надпись:
Ты еще ребенок
Не спорь со взрослыми
int temperature = 5;
if (temperature < 0)
{
   System.out.println("На улице мороз");
   System.out.println("Шапку надень");
}
else
   System.out.println("Тепло");
На экран будет выведена надпись:
Тепло
int age = 21;
if (age == 18)
   System.out.println("Явитесь в военкомат");
else
{
}
Будет выполнен пустой блок команд.
На экран ничего не выведется.

3. Сокращенная форма оператора if

Иногда бывает, что какую-то команду или команды нужно выполнить, если условие истинно, а если оно ложное, ничего делать не нужно.

Например, мы можем задать команду Если приехал автобус номер 62, зайти в него, а на отсутствие автобуса никак не реагировать. В Java при таком развитии событий мы можем использовать сокращенную форму оператора if — без блока else.

Другими словами, если команду(ы) нужно выполнять, только если условие истинно и нет команд, которые нужно выполнять, когда условие ложно, нужно использовать сокращенную запись оператора if — без блока else. Она имеет вид:

if (условие)
   команда1;
Условный оператор if

Ниже приведены три эквивалентные записи:

Код Пояснение
int age = 18;
if (age == 18)
{
   System.out.println("Явитесь в военкомат");
}
else
{
}
На экран будет выведена надпись:
Явитесь в военкомат

Блок else в программе есть, но он пустой (между фигурными скобками нет никаких команд). Его можно просто убрать, в программе от этого ничего не поменяется.

Код Пояснение
int age = 18;
if (age == 18)
{
   System.out.println("Явитесь в военкомат");
}
На экран будет выведена надпись:
Явитесь в военкомат
int age = 18;
if (age == 18)
   System.out.println("Явитесь в военкомат");
На экран будет выведена надпись:
Явитесь в военкомат