Тернарный оператор является условным оператором и может использоваться в качестве замены для использования простого оператора if-else. В некоторых случаях мы можем использовать тернарный оператор для замены даже операторов switch. Вместо того чтобы писать длинные конструкции if-else для основных условий, мы можем использовать тернарный оператор для достижения того же результата более лаконичным способом.
В этой статье мы познакомимся с тернарным оператором на примерах; кроме того, мы рассмотрим концепцию вложенного тернарного оператора.
1. Что такое тернарный оператор?
Тернарный оператор — это оператор, который оценивает условие и выбирает один из двух вариантов для выполнения. Его также называют условным оператором.
Основная логика или алгоритм тернарного оператора такой же, как и у оператора if-else, только с меньшим количеством строк.

1.1 Синтаксис
Синтаксис тернарного оператора(? 🙂 приведен ниже. Он принимает три операнда.
value = condition ? trueExpression : falseExpression;
Условие представляет собой логическое выражение, которое может быть либо истинным, либо ложным.
- Если условие истинно, то будет выполнено выражение trueExpression;
- в противном случае будет выполнено falseExpression.
Возвращаемый тип истинных и ложных выражений будет иметь схожий тип, который будет присвоен переменной в соответствии с результатом.
1.2 Пример
В следующем примере мы пишем оператор с использованием оператора if-else. Затем мы перепишем тот же оператор с использованием тернарного оператора. Таким образом, мы сможем понять, как тернарный оператор помогает нам в написании упрощенных выражений кода.
В примере ниже используется оператор if-else. Он сравнивает заданное число, больше ли оно 10 или нет. В обоих случаях он выведет настроенное сообщение.
int num = 5;If(num > 10) {System.out.println(“Number is greater than 10”);} else {System.out.println(“Number is smaller than 10”);}
Приведенная выше программа выводит: «Число меньше 10».
Давайте перепишем приведенный выше код в одну строку с помощью тернарного оператора:
int num = 5;String msg = num > 10 ? "Number is greater than 10” : "Number is smaller than 10”;System.out.println(msg);
Этот код выглядит намного чище и понятнее.
2. Вложенный тернарный оператор
Тернарный оператор можно вкладывать в любое количество уровней по нашему выбору. Во вложенном тернарном операторе истинные и ложные выражения являются другими тернарными операторами.
В следующем примере мы проверяем наибольшее из трех целых чисел. Сначала проверяется выражение(i > j). Если оно возвращает true, то выполняется выражение(i > k ? i : k), в противном случае выполняется выражение(j > k ? j : k).
int i, j, k;int value =(i > j) ?(i > k ? i : k) :(j > k ? j : k);
3. Заключение
В этой статье мы узнали о тернарном операторе в Java на нескольких примерах. Обратите внимание, что не всегда возможно заменить оператор if-else тернарным оператором, однако, это потрясающий инструмент для некоторых случаев, который делает наш код короче и более читаемым.
Однако вложение тернарных операторов следует выполнять с осторожностью, поскольку это может ухудшить читаемость.
!