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.
 

3 réflexions sur “Opérateur Ternaire En Java

  • avril 30, 2021 à 7:00 am
    Permalien

    Je pense qu’il y a une coquille, le premier ternaire ne devrait-il pas être
    String str = n > 0 ? « Positif » : « Négatif »;

    ?

    Répondre
  • septembre 25, 2022 à 3:48 pm
    Permalien

    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.

    Répondre
    • octobre 9, 2022 à 9:39 am
      Permalien

      Merci, c’est corrigé 🙂

      Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *