In deze tutorial leert u met behulp van voorbeelden over de ternaire operator en het gebruik ervan in Java.
In Java kan een ternaire operator worden gebruikt om de instructie if… else in bepaalde situaties te vervangen. Voordat u de ternaire operator leert kennen, moet u de Java if… else-instructie bezoeken.
Ternaire operator in Java
Een ternaire operator evalueert de testconditie en voert een codeblok uit op basis van het resultaat van de conditie.
De syntaxis is:
condition ? expression1 : expression2;
Hier wordt de conditie geëvalueerd en
- als voorwaarde is
true
, wordt expression1 uitgevoerd. - En als voorwaarde is
false
, wordt expression2 uitgevoerd.
De ternaire operator heeft 3 operanden (voorwaarde, uitdrukking1 en uitdrukking2). Vandaar de naam ternaire operator .
Voorbeeld: 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(); ) )
Uitgang 1
Voer uw cijfers in: 75 U bent geslaagd voor het examen.
Stel dat de gebruiker 75 invoert . Vervolgens marks> 40
evalueert de toestand naar true
. Daarom wordt de eerste uitdrukkingspass toegewezen aan resultaat.
Uitgang 2
Voer uw cijfers in: 24 U bent niet geslaagd voor het examen.
Stel nu dat de gebruiker 24 invoert . Vervolgens marks> 40
evalueert de toestand naar false
. Daarom wordt de tweede uitdrukking mislukt toegewezen aan resultaat.
Wanneer gebruik je de ternaire operator?
In Java kan de ternaire operator worden gebruikt om bepaalde soorten if… else
instructies te vervangen . Bijvoorbeeld,
U kunt deze code vervangen
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"); ) ) )
met
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); ) )
Uitvoer
Positief nummer
Hier geven beide programma's dezelfde output. Het gebruik van de ternaire operator maakt onze code echter leesbaarder en overzichtelijker.
Opmerking : gebruik de ternaire operator alleen als de resulterende instructie kort is.
Geneste ternaire operators
Het is ook mogelijk om een ternaire operator binnen een andere ternaire operator te gebruiken. Het wordt de geneste ternaire operator in Java genoemd.
Hier is een programma om de grootste van 3 getallen te vinden met behulp van de geneste ternaire operator.
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); ) )
Uitvoer
Grootste aantal: 9
Let in het bovenstaande voorbeeld op het gebruik van de ternaire operator,
(n1>= n2) ? ((n1>=n3) ? n1 : n3) : ((n2>= n3) ? n2 : n3);
Hier,
- (n1> = n2) - eerste testconditie die controleert of n1 groter is dan n2
- (n1> = n3) - tweede testconditie die wordt uitgevoerd als de eerste conditie is
true
- (n2> = n3) - derde testconditie die wordt uitgevoerd als de eerste conditie is
false
Opmerking : het wordt niet aanbevolen om geneste ternaire operatoren te gebruiken. Dit komt omdat het onze code complexer maakt.