Условный оператор полезен в тех случаях, когда вам нужно использовать в выражении одно из двух различных значений, в зависимости от того, выполняется ли заданное условие. Это тернарный оператор, т.е. у него три операнда:
<условие> ? <значение, если условие выполняется (true)> : <значение, если условие не выполняется (false)>
Он может применяться к значениям различных типов: численным, логическим, строковым, объектам любых классов. Следующее выражение возвращает 0, если портфель невыполненных заказов не содержит ни одного заказа, и объем первого заказа в противном случае:
backlog.isEmpty() ? 0 : backlog.getFirst().amount
Условные операторы могут быть вложенными. Например, следующая строка кода распечатывает уровень дохода человека (Высокий, Средний или Низкий), определяемый согласно значению переменной income:
traceln( "Доход: " ( income > 10000 ? "Высокий" : ( income < 1500 ? "Низкий" : "Средний" ) ) );
Эта единственная строка эквивалентна следующей комбинации операторов if:
trace( "Доход: " );
if( income > 10000 ) {
traceln( "Высокий" );
} else if( income < 1500 ) {
traceln( "Низкий" );
} else {
traceln( "Средний" );
}
-
Как мы можем улучшить эту статью?
-