Dans ce tutoriel, vous découvrirez l'opérateur ternaire et son utilisation en Java à l'aide d'exemples.
En Java, un opérateur ternaire peut être utilisé pour remplacer l'instruction if… else dans certaines situations. Avant d'en apprendre davantage sur l'opérateur ternaire, assurez-vous de visiter Java if… else instruction.
Opérateur ternaire en Java
Un opérateur ternaire évalue la condition de test et exécute un bloc de code en fonction du résultat de la condition.
Sa syntaxe est:
condition ? expression1 : expression2;
Ici, la condition est évaluée et
- si la condition est
true
, expression1 est exécutée. - Et, si la condition est
false
, expression2 est exécutée.
L'opérateur ternaire prend 3 opérandes (condition, expression1 et expression2). D'où le nom d' opérateur ternaire .
Exemple: opérateur ternaire 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(); ) )
Sortie 1
Entrez vos notes: 75 Vous réussissez l'examen.
Supposons que l'utilisateur entre 75 . Ensuite, la condition est marks> 40
évaluée à true
. Par conséquent, la première passe d'expression est affectée au résultat.
Sortie 2
Entrez vos notes: 24 Vous échouez à l'examen.
Maintenant, supposons que l'utilisateur entre 24 . Ensuite, la condition est marks> 40
évaluée à false
. Par conséquent, la deuxième expression échouée est affectée au résultat.
Quand utiliser l'opérateur ternaire?
En Java, l'opérateur ternaire peut être utilisé pour remplacer certains types d' if… else
instructions. Par exemple,
Vous pouvez remplacer ce code
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"); ) ) )
avec
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); ) )
Production
Nombre positif
Ici, les deux programmes donnent le même résultat. Cependant, l'utilisation de l'opérateur ternaire rend notre code plus lisible et plus propre.
Remarque : vous ne devez utiliser l'opérateur ternaire que si l'instruction résultante est courte.
Opérateurs ternaires imbriqués
Il est également possible d'utiliser un opérateur ternaire à l'intérieur d'un autre opérateur ternaire. Il est appelé l'opérateur ternaire imbriqué en Java.
Voici un programme pour trouver le plus grand des 3 nombres à l'aide de l'opérateur ternaire imbriqué.
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); ) )
Production
Plus grand nombre: 9
Dans l'exemple ci-dessus, notez l'utilisation de l'opérateur ternaire,
(n1>= n2) ? ((n1>=n3) ? n1 : n3) : ((n2>= n3) ? n2 : n3);
Ici,
- (n1> = n2) - première condition de test qui vérifie si n1 est supérieur à n2
- (n1> = n3) - deuxième condition de test qui est exécutée si la première condition est
true
- (n2> = n3) - troisième condition de test qui est exécutée si la première condition est
false
Remarque : il n'est pas recommandé d'utiliser des opérateurs ternaires imbriqués. C'est parce que cela rend notre code plus complexe.