Opérateur Ternaire
Comment pouvons-nous raccourcir une instruction if-else ?
L'instruction if
n'est pas toujours élégante, mais Java propose un moyen plus rapide et plus pratique de vérifier des conditions. Il s'agit de l'opérateur ternaire, qui possède la syntaxe suivante :
Tout d'abord, nous définissons une condition, par exemple, 10 > 5
, puis nous plaçons un point d'interrogation ?
après celle-ci. Si la condition s'évalue à true
, nous passons au bloc vrai, par exemple, System.out.println("That's true");
. Si la condition s'évalue à false
, nous passons au bloc faux, où nous pourrions avoir quelque chose comme System.out.println("That's not true");
.
Analysons un exemple plus pratique :
Main.java
package com.example; public class Main { public static void main(String[] args) { System.out.println(10 > 5 ? "That's true" : "That's false"); System.out.println(5 > 6 ? "That's true" : "That's false"); } }
Vous avez peut-être remarqué que nous avons utilisé l'opérateur ternaire à l'intérieur de l'instruction System.out.println();
. C'est la principale utilité de l'opérateur ternaire : il permet de l'utiliser dans les instructions d'affichage afin de réduire considérablement la quantité de code.
Nous pouvons également utiliser l'opérateur ternaire lors de l'initialisation ou du retour de valeurs. Vous en apprendrez davantage sur le retour de valeurs dans la section suivante lorsque vous étudierez les méthodes.
Exemple d'utilisation de l'opérateur ternaire lors de l'initialisation d'une valeur :
Main.java
package com.example; public class Main { public static void main(String[] args) { final int a = 10 > 2 ? 5 : 2; final int b = 10 < 2 ? 5 : 2; System.out.println("Variable 'a' has value: " + a); System.out.println("Variable 'b' has value: " + b); } }
Ci-dessous, un exemple de code où l'opérateur ternaire est remplacé par une instruction if
classique afin de mieux comprendre son fonctionnement :
Main.java
package com.example; public class Main { public static void main(String[] args) { int a = 0; int b = 0; if (10 > 2) { a = 5; } else { a = 2; } if (10 < 2) { b = 5; } else { b = 2; } System.out.println("Variable 'a' has value: " + a); System.out.println("Variable 'b' has value: " + b); } }
Le résultat est identique, mais vous pouvez constater combien d'espace nous économisons en utilisant l'opérateur ternaire.
Swipe to start coding
-
Écrire un code qui affiche
"The string contains Florida"
si la chaîne contient le mot Florida, ou"Florida is not found"
si ce n'est pas le cas. -
Utiliser l'opérateur ternaire pour s'exercer avec celui-ci.
Solution
solution.java
Merci pour vos commentaires !