Java Ternary Operator (med eksempel)

I denne vejledning lærer du om den ternære operatør og dens anvendelse i Java ved hjælp af eksempler.

I Java kan en ternær operatør bruges til at erstatte if … else-udsagnet i visse situationer. Før du lærer om den ternære operatør, skal du sørge for at besøge Java if … else-erklæringen.

Ternær operatør i Java

En ternær operatør evaluerer testtilstanden og udfører en kodeblok baseret på resultatet af tilstanden.

Det er syntaksen er:

 condition ? expression1 : expression2;

Her vurderes tilstand og

  • hvis betingelse er true, eksekveres ekspression1.
  • Og hvis betingelse er false, udføres expression2.

Den ternære operator tager 3 operander (betingelse, expression1 og expression2). Derfor navnet ternær operatør .

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

Udgang 1

 Indtast dine karakterer: 75 Du består eksamen.

Antag at brugeren indtaster 75 . Derefter marks> 40vurderes tilstanden til true. Derfor tildeles det første ekspressionspas til resultatet.

Udgang 2

 Indtast dine karakterer: 24 Du undlader eksamen.

Antag nu, at brugeren går ind i 24 . Derefter marks> 40vurderes tilstanden til false. Derfor tildeles resultatet det andet udtryk fail.

Hvornår skal jeg bruge den ternære operatør?

I Java kan den ternære operatør bruges til at erstatte visse typer if… elseudsagn. For eksempel,

Du kan erstatte denne kode

 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 antal

Her giver begge programmer den samme output. Imidlertid gør brugen af ​​den ternære operatør vores kode mere læsbar og ren.

Bemærk : Du skal kun bruge den ternære operatør, hvis den resulterende erklæring er kort.

Indlejrede ternære operatører

Det er også muligt at bruge en ternær operatør inden for en anden ternær operatør. Det kaldes den indlejrede ternære operatør i Java.

Her er et program til at finde det største af 3 tal ved hjælp af den indlejrede ternære operatør.

 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ørste antal: 9

I ovenstående eksempel bemærk brugen af ​​den ternære operatør,

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

Her,

  • (n1> = n2) - første testtilstand, der kontrollerer, om n1 er større end n2
  • (n1> = n3) - anden testbetingelse, der udføres, hvis den første betingelse ertrue
  • (n2> = n3) - tredje testbetingelse, der udføres, hvis den første betingelse erfalse

Bemærk : Det anbefales ikke at bruge indlejrede ternære operatører. Dette skyldes, at det gør vores kode mere kompleks.

Interessante artikler...