Opérateur Ternaire
Comment peut-on 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 :
condition ? expression_for_true : expression_for_false
Tout d'abord, on définit une condition, par exemple, 10 > 5
, puis on place un point d'interrogation ?
après celle-ci. Si la condition s'évalue à true
, on passe au bloc vrai, par exemple, System.out.println("That's true");
. Si la condition s'évalue à false
, on passe au bloc faux, où l'on pourrait avoir quelque chose comme System.out.println("That's not true");
.
Analysons un exemple plus pratique :
Main.java
12345678package 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
12345678910package 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
1234567891011121314151617181920package 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 il est évident que l’on économise de l’espace 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'entraîner avec celui-ci.
Solution
solution.java
Merci pour vos commentaires !
single
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Awesome!
Completion rate improved to 2.63
Opérateur Ternaire
Glissez pour afficher le menu
Comment peut-on 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 :
condition ? expression_for_true : expression_for_false
Tout d'abord, on définit une condition, par exemple, 10 > 5
, puis on place un point d'interrogation ?
après celle-ci. Si la condition s'évalue à true
, on passe au bloc vrai, par exemple, System.out.println("That's true");
. Si la condition s'évalue à false
, on passe au bloc faux, où l'on pourrait avoir quelque chose comme System.out.println("That's not true");
.
Analysons un exemple plus pratique :
Main.java
12345678package 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
12345678910package 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
1234567891011121314151617181920package 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 il est évident que l’on économise de l’espace 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'entraîner avec celui-ci.
Solution
solution.java
Merci pour vos commentaires !
Awesome!
Completion rate improved to 2.63single