Java Ternary Operator (met voorbeeld)

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> 40evalueert 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> 40evalueert 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… elseinstructies 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 istrue
  • (n2> = n3) - derde testconditie die wordt uitgevoerd als de eerste conditie isfalse

Opmerking : het wordt niet aanbevolen om geneste ternaire operatoren te gebruiken. Dit komt omdat het onze code complexer maakt.

Interessante artikelen...