Opérateur Ternaire En Java
L’opérateur conditionnel ternaire ?: Permet de définir des expressions en Java. C’est une forme condensée de l’instruction if-else qui renvoie également une valeur.
Dans ce tutoriel, nous allons voir comment utiliser l’opérateur conditionnel ternaire. Nous allons commencer par sa syntaxe puis explorer son utilisation.
Syntaxe :
L’opérateur ternaire ?: En Java est le seul opérateur qui accepte trois opérandes:
condition ? instruction1 : instruction2
Le premier opérande doit être une expression booléenne, le deuxième et troisième opérandes peuvent être n’importe quelle expression qui renvoie une valeur. L’opérateur ternaire renvoie instruction1 en sortie si le premier opérande est évalué à true, sinon instruction2.
Exemple :
Regardons le code suivant:
int n = 5; String str = ""; if(n > 0) { str = "Positif"; } else { str = "Négatif"; }
Dans le code ci-dessus, nous avons attribué une valeur à str en fonction de l’évaluation conditionnelle de n. Nous pouvons rendre ce code plus lisible et plus claire en remplaçant facilement l’instruction if-else par une condition ternaire:
String str = n > 0 ? "Positif" : "Négatif";
Quand utiliser l’opérateur ternaire?
Vous pouvez remplacer plusieurs lignes de code par une seule ligne de code à l’aide de l’opérateur ternaire. Cela rend votre code plus lisible. Par exemple, vous pouvez remplacer le code suivant:
if (condition1) { str = "A"; } else if (condition2) { str = "B"; } else if (condition3) { str = "C"; } else { str = "X"; }
avec:
str = (condition1) ? "A" : (condition2) ? "B" : (condition3) ? "C" : "X";
L’utilisation de l’opérateur ternaire a rendu le code plus difficile à comprendre dans ce cas. Utilisez l’opérateur ternaire uniquement lorsque l’instruction résultante est courte. Cela rend le code plus concis et beaucoup plus lisible.
Je pense qu’il y a une coquille, le premier ternaire ne devrait-il pas être
String str = n > 0 ? « Positif » : « Négatif »;
?
Il y aurait comme un bug dans l’expression ternaire
Ca serait plutôt :
String str = n > 0 ? « Positif » : « Négatif »;
5 correspond à la valeur définie dans n au départ, et non à la valeur située dans le test du if.
Merci, c’est corrigé 🙂