Ternárny operátor Java (s príkladom)

V tomto tutoriáli sa pomocou príkladov dozviete o ternárnom operátore a jeho použití v Jave.

V Jave je možné v určitých situáciách použiť ternárny operátor na nahradenie príkazu if … else. Predtým, ako sa dozviete o ternárnom operátore, určite navštívte program Java, ak … else.

Ternárny operátor v Jave

Ternárny operátor vyhodnotí podmienku testu a na základe výsledku podmienky vykoná blok kódu.

Je to syntax:

 condition ? expression1 : expression2;

Tu sa vyhodnotí stav a

  • ak je podmienka true, vykoná sa výraz1.
  • A ak je podmienka false, vykoná sa výraz2.

Ternárny operátor má 3 operandy (podmienka, výraz1 a výraz2). Preto názov ternárny operátor .

Príklad: 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(); ) )

Výstup 1

 Zadajte svoje známky: 75 Zložili ste skúšku.

Predpokladajme, že používateľ zadá 75 . Potom sa stav marks> 40vyhodnotí ako true. K výsledku je teda priradený prvý priechod výrazu.

Výstup 2

 Zadajte známky: 24 Skúšku ste nezvládli.

Teraz predpokladajme, že používateľ zadá 24 . Potom sa stav marks> 40vyhodnotí ako false. Preto je druhému výrazu fail priradený výsledok.

Kedy použiť ternárneho operátora?

V prostredí Java možno ternárny operátor použiť na nahradenie určitých typov if… elsepríkazov. Napríklad,

Tento kód môžete nahradiť

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

Výkon

 Kladné číslo

Tu obidva programy poskytujú rovnaký výstup. Použitie ternárneho operátora však robí náš kód čitateľnejším a čistším.

Poznámka : Ternárny operátor by ste mali používať iba v prípade, že je výsledný príkaz krátky.

Vnorené ternárne operátory

Je tiež možné použiť jeden ternárny operátor vo vnútri iného ternárneho operátora. V Jave sa nazýva vnorený ternárny operátor.

Tu je program na vyhľadanie najväčšieho z 3 čísel pomocou vnoreného ternárneho operátora.

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

Výkon

 Najväčšie číslo: 9

Vo vyššie uvedenom príklade si všimnite použitie ternárneho operátora,

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

Tu,

  • (n1> = n2) - prvá testovacia podmienka, ktorá kontroluje, či je n1 väčšie ako n2
  • (n1> = n3) - druhá testovacia podmienka, ktorá sa vykoná, ak je prvá podmienkatrue
  • (n2> = n3) - tretia testovacia podmienka, ktorá sa vykoná, ak je prvá podmienkafalse

Poznámka : Neodporúča sa používať vnorené ternárne operátory. Je to preto, že náš kód je zložitejší.

Zaujímavé články...