У овом упутству ћете научити о тернарном оператору и његовој употреби у Јави уз помоћ примера.
У Јави се тернарни оператор може користити да замени израз иф … елсе у одређеним ситуацијама. Пре него што научите о тернарном оператору, обавезно посетите Јаву иф … елсе изјаву.
Тернарни оператер на Јави
Тернарни оператер процењује стање теста и извршава блок кода на основу резултата услова.
Синтакса је:
condition ? expression1 : expression2;
Овде се стање процењује и
- ако је услов
true
, извршава се израз1. - И, ако је услов
false
, израз2 се извршава.
Тернарни оператор узима 3 операнда (услов, израз1 и израз2). Отуда назив тернарни оператор .
Пример: Јава Тернари Оператор
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
. Стога је други израз неуспех додељен резултату.
Када користити тернарног оператора?
У Јави се тернарни оператор може користити за замену одређених врста 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); ) )
Оутпут
Позитиван број
Овде оба програма дају исти излаз. Међутим, употреба тернарног оператора чини наш код читљивијим и чистијим.
Напомена : Тернарни оператор треба да користите само ако је резултујућа изјава кратка.
Угњежђени тернарни оператери
Такође је могуће користити један тернарни оператор унутар другог тернарног оператора. У Јави се назива угнежђени тернарни оператор.
Ево програма за проналажење највећег од 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);
Ево,
- (н1> = н2) - први тест услов који проверава да ли је н1 већи од н2
- (н1> = н3) - други тест услов који се извршава ако је први услов
true
- (н2> = н3) - трећи услов теста који се извршава ако је први услов
false
Напомена : Не препоручује се употреба угнежђених тернарних оператора. То је зато што наш код чини сложенијим.