?: operator в Java
В Java вы могли бы написать:
if (a > b) {
max = a;
}
else {
max = b;
}
Установка одной переменной в одно из двух состояний на основе одного условия является таким распространенным применением if-иначе для него был разработан ярлык, условный оператор,?:.Используя условный оператор, вы можете переписать приведенный выше пример в одну строку следующим образом:
max = (a > b) ? a : b;
(a> b)?а: б;является выражением, которое возвращает одно из двух значений, a или b.Условие (a> b) проверяется.Если это правда, первое значение, а, возвращается.Если оно ложно, возвращается второе значение b.Какое бы значение не возвращалось, зависит от условного теста, a> b.Условием может быть любое выражение, которое возвращает логическое значение.