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

В този урок ще научите за тернарния оператор и използването му в Java с помощта на примери.

В Java може да се използва трикратен оператор, който да замени израза if … else в определени ситуации. Преди да научите за троичния оператор, не забравяйте да посетите Java, ако … друго изявление.

Тернарен оператор в 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. Следователно вторият израз неуспешно се присвоява на резултат.

Кога да използвам тернарния оператор?

В 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.

Ето програма за намиране на най-голямото от 3 числа с помощта на вложен тройния оператор.

 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

Забележка : Не се препоръчва използването на вложени тройни оператори. Това е така, защото прави нашия код по-сложен.

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