Java Ternární operátor (s příkladem)

V tomto tutoriálu se pomocí příkladů dozvíte o ternárním operátoru a jeho použití v Javě.

V Javě lze v určitých situacích použít ternární operátor k nahrazení příkazu if… else. Než se dozvíte o ternárním operátoru, nezapomeňte navštívit příkaz Java if… else.

Ternární operátor v Javě

Ternární operátor vyhodnotí podmínku testu a provede blok kódu na základě výsledku podmínky.

Je to syntaxe:

 condition ? expression1 : expression2;

Zde se vyhodnotí stav a

  • pokud je podmínka true, výraz1 se provede.
  • A pokud je podmínka false, výraz2 se provede.

Ternární operátor přijímá 3 operandy (podmínka, výraz1 a výraz2). Proto název ternární operátor .

Pří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

 Zadejte své známky: 75 Složili jste zkoušku.

Předpokládejme, že uživatel zadá 75 . Poté se stav marks> 40vyhodnotí jako true. K výsledku je tedy přiřazen první průchod výrazu.

Výstup 2

 Zadejte své známky: 24 Zkoušku neuspějete.

Nyní předpokládejme, že uživatel zadá 24 . Poté se stav marks> 40vyhodnotí jako false. K výsledku je tedy přiřazen druhý výraz selhání.

Kdy použít ternárního operátora?

V Javě lze ternární operátor použít k nahrazení určitých typů if… elsepříkazů. Například,

Tento kód můžete nahradit

 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ýstup

 Kladné číslo

Zde oba programy poskytují stejný výstup. Díky použití ternárního operátoru je však náš kód čitelnější a čistější.

Poznámka : Ternární operátor byste měli používat, pouze pokud je výsledný příkaz krátký.

Vnořené ternární operátory

Je také možné použít jeden ternární operátor uvnitř jiného ternárního operátoru. V Javě se tomu říká vnořený ternární operátor.

Zde je program pro vyhledání největšího ze 3 čísel pomocí vnořeného ternárního operátoru.

 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ýstup

 Největší číslo: 9

Ve výše uvedeném příkladu si všimněte použití ternárního operátoru,

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

Tady,

  • (n1> = n2) - první testovací podmínka, která kontroluje, zda je n1 větší než n2
  • (n1> = n3) - druhá testovací podmínka, která se provede, pokud je první podmínkatrue
  • (n2> = n3) - třetí testovací podmínka, která se provede, pokud je první podmínkafalse

Poznámka : Nedoporučuje se používat vnořené ternární operátory. Je to proto, že náš kód je složitější.

Zajímavé články...