Ebben az oktatóanyagban példák segítségével megismerheti a háromszintű operátort és annak Java használatát.
A Java-ban egy hármas operátor használható az if… else utasítás helyettesítésére bizonyos helyzetekben. Mielőtt megismerné a háromszintű operátort, győződjön meg róla, hogy ellátogatott a Java if… else utasításba.
Ternary Operator Java-ban
A háromszintű operátor kiértékeli a tesztfeltételt és végrehajt egy kódblokkot a feltétel eredménye alapján.
Szintaxisa:
condition ? expression1 : expression2;
Itt értékelik az állapotot és
- ha a feltétel megvan
true
, akkor az1 kifejezés végrehajtásra kerül. - És ha feltétel van
false
, akkor a 2. kifejezés végrehajtásra kerül.
A ternáris operátor 3 operandusot vesz fel (feltétel, kifejezés1 és kifejezés2). Ezért a háromlagos operátor neve .
Példa: Java Ternary Operator
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. kimenet
Írja be a pontszámokat: 75 sikeresen letette a vizsgát
Tegyük fel, hogy a felhasználó megadja a 75 értéket . Ezután az állapot marks> 40
kiértékelődik true
. Ennélfogva az első kifejezés-passz az eredményhez van rendelve.
2. kimenet
Írja be a pontszámokat: 24 Nem sikerül a vizsga.
Tegyük fel, hogy a felhasználó megadja a 24-et . Ezután az állapot marks> 40
kiértékelődik false
. Ezért a második fail kifejezés az eredményhez van rendelve.
Mikor kell használni a Ternary Operator-t?
A Java-ban a háromszintű operátor használható bizonyos típusú if… else
utasítások helyettesítésére . Például,
Ezt a kódot kicserélheti
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"); ) ) )
val vel
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); ) )
Kimenet
Pozitív szám
Itt mindkét program ugyanazt a kimenetet adja. A háromszintű operátor használata azonban kódunkat olvashatóbbá és tisztábbá teszi.
Megjegyzés : Csak akkor használja a háromszintű operátort, ha az eredményül kapott utasítás rövid.
Beágyazott terner operátorok
Lehetőség van arra is, hogy egy hármas operátort használjon egy másik hármas operátoron belül. A Java beágyazott ternáris operátorának hívják.
Itt van egy program, amely a beágyazott ternáris operátor segítségével megtalálja a 3 szám közül a legnagyobbat.
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); ) )
Kimenet
Legnagyobb szám: 9
A fenti példában vegye figyelembe a hármas operátor használatát,
(n1>= n2) ? ((n1>=n3) ? n1 : n3) : ((n2>= n3) ? n2 : n3);
Itt,
- (n1> = n2) - az első tesztfeltétel, amely ellenőrzi, hogy n1 nagyobb-e mint n2
- (n1> = n3) - második tesztfeltétel, amelyet akkor hajtunk végre, ha az első feltétel teljesül
true
- (n2> = n3) - harmadik tesztfeltétel, amelyet akkor hajtunk végre, ha az első feltétel teljesül
false
Megjegyzés : Nem ajánlott beágyazott terner operátorokat használni. Ennek oka, hogy bonyolultabbá teszi a kódunkat.