Java Ternary Operator (med exempel)

I denna handledning lär du dig om den ternära operatören och dess användning i Java med hjälp av exempel.

I Java kan en ternär operatör användas för att ersätta if … else-uttalandet i vissa situationer. Innan du lär dig om den ternära operatören, se till att du besöker Java if … else uttalande.

Ternary Operator i Java

En ternär operatör utvärderar testvillkoret och utför ett kodblock baserat på resultatet av tillståndet.

Det är syntax är:

 condition ? expression1 : expression2;

Här utvärderas tillståndet och

  • om villkor trueär exekveras expression1.
  • Och om villkor är false, exekveras expression2.

Den ternära operatören tar tre operander (villkor, expression1 och expression2). Därför namnet ternär operatör .

Exempel: 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(); ) )

Utgång 1

 Ange dina betyg: 75 Du klarar provet.

Antag att användaren anger 75 . Därefter marks> 40utvärderas tillståndet till true. Därför tilldelas det första uttryckspasset resultatet.

Utgång 2

 Ange dina betyg: 24 Du klarar inte provet.

Antag nu att användaren anger 24 . Därefter marks> 40utvärderas tillståndet till false. Följaktligen tilldelas resultatet det andra uttrycket misslyckas.

När ska jag använda Ternary Operator?

I Java kan den ternära operatören användas för att ersätta vissa typer av if… elseuttalanden. Till exempel,

Du kan ersätta den här koden

 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"); ) ) )

med

 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); ) )

Produktion

 Positivt nummer

Här ger båda programmen samma resultat. Användningen av den ternära operatören gör dock vår kod mer läsbar och ren.

Obs! Du bör endast använda den ternära operatören om det resulterande uttalandet är kort.

Kapslade ternära operatörer

Det är också möjligt att använda en ternär operatör i en annan ternär operatör. Det kallas den kapslade ternära operatören i Java.

Här är ett program för att hitta det största av tre nummer med den kapslade ternära operatören.

 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); ) )

Produktion

 Största antalet: 9

I exemplet ovan märker du användningen av den ternära operatören,

 (n1>= n2) ? ((n1>=n3) ? n1 : n3) : ((n2>= n3) ? n2 : n3);

Här,

  • (n1> = n2) - första testvillkor som kontrollerar om n1 är större än n2
  • (n1> = n3) - andra testvillkor som körs om det första villkoret ärtrue
  • (n2> = n3) - tredje testvillkor som körs om det första villkoret ärfalse

Obs! Det rekommenderas inte att använda kapslade ternära operatörer. Detta beror på att det gör vår kod mer komplex.

Intressanta artiklar...