Operatore ternario Java (con esempio)

In questo tutorial imparerai a conoscere l'operatore ternario e il suo utilizzo in Java con l'aiuto di esempi.

In Java, un operatore ternario può essere utilizzato per sostituire l'istruzione if … else in determinate situazioni. Prima di conoscere l'operatore ternario, assicurati di visitare l'istruzione Java if … else.

Operatore ternario in Java

Un operatore ternario valuta la condizione di test ed esegue un blocco di codice in base al risultato della condizione.

La sua sintassi è:

 condition ? expression1 : expression2;

Qui viene valutata la condizione e

  • se la condizione è true, viene eseguita expression1.
  • E, se la condizione è false, viene eseguita expression2.

L'operatore ternario accetta 3 operandi (condizione, espressione1 ed espressione2). Da qui il nome operatore ternario .

Esempio: operatore ternario Java

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

Uscita 1

 Inserisci i tuoi voti: 75 Hai superato l'esame.

Supponiamo che l'utente inserisca 75 . Quindi, la condizione marks> 40restituisce true. Quindi, il primo passaggio dell'espressione viene assegnato al risultato.

Uscita 2

 Inserisci i tuoi voti: 24 Non superi l'esame.

Supponiamo ora che l'utente inserisca 24 . Quindi, la condizione marks> 40restituisce false. Quindi, la seconda espressione fail viene assegnata al risultato.

Quando utilizzare l'operatore ternario?

In Java, l'operatore ternario può essere utilizzato per sostituire alcuni tipi di if… elseistruzioni. Per esempio,

Puoi sostituire questo codice

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

con

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

Produzione

 Numero positivo

Entrambi i programmi danno lo stesso output. Tuttavia, l'uso dell'operatore ternario rende il nostro codice più leggibile e pulito.

Nota : è necessario utilizzare l'operatore ternario solo se l'istruzione risultante è breve.

Operatori ternari annidati

È anche possibile utilizzare un operatore ternario all'interno di un altro operatore ternario. È chiamato operatore ternario annidato in Java.

Ecco un programma per trovare il più grande dei 3 numeri utilizzando l'operatore ternario annidato.

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

Produzione

 Numero più grande: 9

Nell'esempio sopra, notare l'uso dell'operatore ternario,

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

Qui,

  • (n1> = n2) - prima condizione di test che controlla se n1 è maggiore di n2
  • (n1> = n3) - seconda condizione di test che viene eseguita se la prima condizione ètrue
  • (n2> = n3) - terza condizione di test che viene eseguita se la prima condizione èfalse

Nota : non è consigliabile utilizzare operatori ternari annidati. Questo perché rende il nostro codice più complesso.

Articoli interessanti...