В този урок ще научите за тернарния оператор и използването му в 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
Забележка : Не се препоръчва използването на вложени тройни оператори. Това е така, защото прави нашия код по-сложен.