? :
Выбирает одно из двух значений по условию — короткая замена if-else.
Доступно с: Java 1.0
Синтаксис
condition ? valueIfTrue : valueIfFalseПримеры
Выбор значения:
void main() {
int age = 20;
String status = age >= 18 ? "adult" : "minor";
IO.println(status);
int count = 1;
IO.println(count + (count == 1 ? " item" : " items"));
}Результат:
adult
1 itemПримечания
Тернарный оператор — выражение, у него есть значение; if — инструкция. Вложенные тернарные операторы читаются плохо — для трёх и более вариантов лучше switch-выражение. При сложении со строкой берите тернарный оператор в скобки.
См. также
В учебнике
- Условия — Ветвление в Java: if, else, else if, составные условия и тернарный оператор.