<< ПредыдущаяОглавлениеСледующая >>


4.5. Тернарный оператор if-then-else

Общая форма оператора if-then-else такова:

Выражение1 ? Выражение2 : выражениеЗ

В качестве первого операнда — «выражение 1» — может быть использовано любое выражение, результатом которого является значение типа boolean. Если результат равен true, то выполняется оператор, заданный вторым операндом, то есть «выражение2». Если же первый операнд равен false, то выполняется третий операнд — «выражениеЗ». Второй и третий операнды, то есть «выра- жение2» и «выражениеЗ», должны возвращать значения одного типа и не должны иметь тип void. В приведенной ниже программе этот оператор используется для проверки делителя перед выполнением операции деления. В случае нулевого делителя возвращается значение 0.

class Ternary {
public static void main(String args[]) {
int a = 42;
int b = 2;
int с = 99;
int d = 0;
int e = (b == 0) ? 0 : (a / b);
int f = (d == 0) ? 0 : (c / d);
System.out.print("a = " + a);
System.out.print("b = " + b);
System.out.print("c = " + c);
System.out.print("d = " + d);
System.out.print("a / b = " + e);
System.out.println("c / d = " + f);
}
}

При выполнении этой программы исключительной ситуации деления на нуль не возникает, и выводятся следующие результаты:

a = 42
b = 2
c = 99
d = 0
a/b = 21
c/d = 0

 



<< ПредыдущаяОглавлениеСледующая >>