Найти тему

Крутой курс Java для "чайников". Урок 11. Условный оператор.

Условный оператор называют также тернарным. Его конструкция следующая:

(логическое выражение) ? (значение если логическое выражение истинно) : (значение если логическое выражение ложно);

Результатом его выполнения является значение. Если логическое выражение истинно (т.е. имеет значение true), то оператор принимает значение, расположенное между знаком вопроса и двоеточием. Если логическое выражение ложно (т.е. имеет значение false), то оператор принимает значение, расположенное после двоеточия.

Обычно это значение присваивается какой-либо переменной.

Чтобы было понятно, вот пример использования условного оператора:

int age = 19;

String status;

status = (age >= 18) ? "Совершеннолетний" : "Несовершеннолетний";

Итак, мы присвоили переменной age (возраст) значение 19. Таким образом, если результатом выражения в скобках является true, а в нашем случае 19 >= 18, то оператор принимает значение между знаком вопроса и двоеточием, т.е. "Совершеннолетний".

Если бы мы присвоили переменной age значение, например 17 (командой int age = 17;), то оператор принял бы значение "Несовершеннолетний".

И в нашем случае значение оператора было присвоено переменной status.

Т.е. целью условного оператора является решить, какое значение будет присвоено переменной (в нашем случае status). Если возраст больше или равен 18, то переменной status будет присвоено значение "Совершеннолетний". Если меньше 18, то "Несовершеннолетний".

Теперь как обычно предлагаю на практике рассмотреть работу условного оператора.

Создадим новый класс с именем Uslov

class Uslov

{

}

Внутри фигурных скобок класса Uslov объявим главный метод main

public static void main (String[] args)

{

}

Внутри фигурных скобок метода main объявим несколько переменных и присвоим части из них начальные значения:

int chislo1 = 1234;

int chislo2 = 4321;

String result;

Теперь проверим, на то, чётными или нечётными числами являются значения переменных chislo1 и chislo2 и присвоим результат переменной result.

result = (chislo1 % 2 ==0) ? "Чётное" : "Нечётное";

Выведем результат на экран

System.out.println("Число " + chislo1 + " - " + result);

В проверяемом выражении в качестве условия мы поставили равенство остатка от деления по модулю на 2 нулю. Если остаток от деления по модулю на 2 равен нулю, то число чётное, если не равен нулю - нечётное.

Теперь проверим на чётность/нечётность второе число и выведем результат на экран.

result = (chislo2 % 2 ==0) ? "Чётное" : "Нечётное";

System.out.println("Число " + chislo2 + " - " + result);

Теперь проверим, находится ли сумма значений переменных chislo1 и chislo2 в интервале от 5000 до 6000.

result = ( ((chislo1+chislo2)>=5000) && ((chislo1+chislo2)<=6000) ) ? "находится" : "не находится";

System.out.println("Сумма чисел " + chislo1 + " и " + chislo2 + ", равная " + (chislo1+chislo2) + ", " + result + " в диапазоне от 5000 до 6000");

Далее сохраняем программу под именем Uslov.java

Компилируем и запускаем

-2

Выводы:

  • Результатом выполнения условного (тернарного) оператора является значение;
  • Значение - результат выполнения условного оператора обычно присваивается переменной;
  • Цель условного оператора - решить, какое значение должно быть присвоено переменной.

Ссылка на предыдущий урок

Ссылка на следующий урок

Ссылка на содержание курса