В этом руководстве вы узнаете о тернарном операторе и его использовании в Java с помощью примеров.
В Java в определенных ситуациях можно использовать тернарный оператор для замены оператора if… else. Прежде чем вы узнаете о тернарном операторе, обязательно посетите оператор Java if… else.
Тернарный оператор в Java
Тернарный оператор оценивает условие теста и выполняет блок кода на основе результата условия.
Его синтаксис:
 condition ? expression1 : expression2;
Здесь оценивается состояние и
- если условие есть true, выражение1 выполняется.
- И, если условие есть false, выражение2 выполняется.
Тернарный оператор принимает 3 операнда (условие, выражение1 и выражение2). Отсюда и название тернарный оператор .
Пример: Тернарный оператор Java
 import java.util.Scanner; class Main ( public static void main(String() args) ( // take input from users Scanner input = new Scanner(System.in); System.out.println("Enter your marks: "); double marks = input.nextDouble(); // ternary operator checks if // marks is greater than 40 String result = (marks> 40) ? "pass" : "fail"; System.out.println("You " + result + " the exam."); input.close(); ) )
Выход 1
Введите свои оценки: 75 Вы сдали экзамен.
Предположим, пользователь вводит 75 . Затем условие marks> 40оценивается как true. Следовательно, результату присваивается первый проход выражения.
Выход 2
Введите свои оценки: 24 Вы провалили экзамен.
Теперь предположим, что пользователь вводит 24 . Затем условие marks> 40оценивается как false. Следовательно, результату присваивается второе выражение fail.
Когда использовать тернарный оператор?
В Java тернарный оператор может использоваться для замены определенных типов if… elseоператоров. Например,
Вы можете заменить этот код
 class Main ( public static void main(String() args) ( // create a variable int number = 24; if(number> 0) ( System.out.println("Positive Number"); ) else ( System.out.println("Negative Number"); ) ) )
с участием
 class Main ( public static void main(String() args) ( // create a variable int number = 24; String result = (number> 0) ? "Positive Number" : "Negative Number"; System.out.println(result); ) )
Вывод
Положительное число
Здесь обе программы дают одинаковый результат. Однако использование тернарного оператора делает наш код более читаемым и чистым.
Примечание . Тернарный оператор следует использовать только в том случае, если результирующий оператор короткий.
Вложенные тернарные операторы
Также возможно использовать один тернарный оператор внутри другого тернарного оператора. В Java он называется вложенным тернарным оператором.
Вот программа для поиска наибольшего из трех чисел с помощью вложенного тернарного оператора.
 class Main ( public static void main(String() args) ( // create a variable int n1 = 2, n2 = 9, n3 = -11; // nested ternary operator // to find the largest number int largest = (n1>= n2) ? ((n1>= n3) ? n1 : n3) : ((n2>= n3) ? n2 : n3); System.out.println("Largest Number: " + largest); ) )
Вывод
Максимальное число: 9
В приведенном выше примере обратите внимание на использование тернарного оператора,
 (n1>= n2) ? ((n1>=n3) ? n1 : n3) : ((n2>= n3) ? n2 : n3);
Вот,
- (n1> = n2) - первое тестовое условие, которое проверяет, больше ли n1 чем n2
- (n1> = n3) - второе тестовое условие, которое выполняется, если первое условиеtrue
- (n2> = n3) - третье условие проверки, которое выполняется, если первое условиеfalse
Примечание . Не рекомендуется использовать вложенные тернарные операторы. Это потому, что это усложняет наш код.








