В этом руководстве вы узнаете о тернарном операторе и его использовании в 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
Примечание . Не рекомендуется использовать вложенные тернарные операторы. Это потому, что это усложняет наш код.