Тернарный оператор Java (с примером)

В этом руководстве вы узнаете о тернарном операторе и его использовании в 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

Примечание . Не рекомендуется использовать вложенные тернарные операторы. Это потому, что это усложняет наш код.

Интересные статьи...