Java ternarni operater (s primjerom)

U ovom ćete uputstvu uz primjere naučiti o ternarnom operatoru i njegovoj upotrebi u Javi.

U Javi se ternarni operator može koristiti za zamjenu izraza if … else u određenim situacijama. Prije nego što naučite o ternarnom operateru, posjetite Javu if … else izjavu.

Ternarni operator u Javi

Ternarni operater procjenjuje stanje testa i izvršava blok koda na temelju rezultata uvjeta.

Sintaksa je:

 condition ? expression1 : expression2;

Ovdje se stanje procjenjuje i

  • ako je uvjet true, izvršava se izraz1.
  • I, ako je uvjet false, izvršava se expression2.

Ternarni operator uzima 3 operanda (uvjet, izraz1 i izraz2). Otuda naziv ternarni operator .

Primjer: Java ternarni operater

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

Izlaz 1

 Unesite ocjene: 75 Položite ispit.

Pretpostavimo da korisnik unese 75 . Zatim se stanje marks> 40procjenjuje na true. Stoga je prvi prolaz izraza dodijeljen rezultatu.

Izlaz 2

 Unesite ocjene: 24 Ne padate na ispitu.

Sada, pretpostavimo da korisnik unese 24 . Zatim se stanje marks> 40procjenjuje na false. Stoga je drugi izraz neuspjeh dodijeljen rezultatu.

Kada koristiti ternarnog operatora?

U Javi se ternarni operator može koristiti za zamjenu određenih vrsta if… elseizjava. Na primjer,

Možete zamijeniti ovaj kôd

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

s

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

Izlaz

 Pozitivan broj

Ovdje oba programa daju isti izlaz. Međutim, upotreba ternarnog operatora čini naš kôd čitljivijim i čistijim.

Napomena : Ternarni operator trebate koristiti samo ako je rezultirajuća izjava kratka.

Ugniježđeni ternarni operateri

Također je moguće koristiti jedan ternarni operator unutar drugog ternarnog operatora. U Javi se naziva ugniježđeni ternarni operator.

Evo programa za pronalaženje najvećeg od 3 broja pomoću ugniježđenog ternarnog operatora.

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

Izlaz

 Najveći broj: 9

U gornjem primjeru, primijetite upotrebu ternarnog operatora,

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

Ovdje,

  • (n1> = n2) - prvi uvjet ispitivanja koji provjerava je li n1 veći od n2
  • (n1> = n3) - drugi uvjet ispitivanja koji se izvršava ako je prvi uvjettrue
  • (n2> = n3) - treći testni uvjet koji se izvršava ako je prvi uvjetfalse

Napomena : Ne preporučuje se uporaba ugniježđenih ternarnih operatora. To je zato što naš kod čini složenijim.

Zanimljivi članci...