L’opérateur ternaire
condition ? a : b.
L’opérateur ternaire est une leçon Java Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Java Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Java Academy comprend 4 leçons au total.
Qu’est-ce que l’opérateur ternaire ?
L’opérateur ternaire est le seul opérateur de Java qui prend trois opérandes. Il permet de choisir de manière concise entre deux valeurs en fonction d’une condition.
Sa forme est la suivante : condition ? valueIfTrue : valueIfFalse.
Il produit une valeur, que vous pouvez donc affecter ou transmettre directement.
int age = 20;
String status = age >= 18 ? "adult" : "minor";Les trois parties
La première partie est une condition booléenne. Le symbole ? la sépare des résultats.
Si la condition est vraie, l’expression prend la valeur de la partie située avant :. Si elle est fausse, elle prend la valeur de la partie située après :.
Une seule des deux branches est réellement évaluée.
int score = 45;
String result = score >= 50 ? "pass" : "fail";Un exemple complet exécutable
Voici un programme complet qui affiche une étiquette en fonction d’un nombre.
La condition n % 2 == 0 détermine s’il faut utiliser "even" ou "odd".
public class Main {
public static void main(String[] args) {
int n = 7;
String parity = n % 2 == 0 ? "even" : "odd";
System.out.println(parity);
}
}C’est une expression
Contrairement à une instruction if, un ternaire est une expression : il possède une valeur.
Vous pouvez donc l’utiliser dans des appels de méthode, des instructions return et des affectations, là où une instruction ne conviendrait pas.
public class Main {
public static void main(String[] args) {
int a = 9, b = 4;
System.out.println("Max is " + (a > b ? a : b));
}
}Choisir des nombres
Les deux branches ne sont pas obligatoirement des chaînes de caractères. Ici, le ternaire sélectionne le plus grand de deux nombres entiers.
Le résultat est un int que vous pouvez stocker et réutiliser.
public class Main {
public static void main(String[] args) {
int x = 12, y = 30;
int max = x > y ? x : y;
System.out.println(max);
}
}Les deux branches doivent avoir des types compatibles
Java doit connaître le type de l’expression entière ; les deux branches doivent donc avoir des types compatibles.
Si une branche est un int et l’autre un String, le code ne sera pas compilé.
Conservez le même type de valeur des deux côtés.
boolean ok = true;
// valid: both ints
int code = ok ? 200 : 404;
// invalid: int vs String would not compileRenvoyer une valeur depuis une méthode
Les ternaires sont particulièrement utiles dans les instructions return : ils remplacent un bloc if/else de quatre lignes par une seule ligne.
La méthode ci-dessous renvoie la valeur absolue d’un nombre.
public class Main {
static int abs(int n) {
return n < 0 ? -n : n;
}
public static void main(String[] args) {
System.out.println(abs(-8));
}
}L’utiliser dans une sortie
Vous pouvez intégrer un ternaire directement dans un appel d’affichage.
Placez-le entre parenthèses lors d’une concaténation, afin que les symboles ? et : soient regroupés avant que le symbole + n’assemble le texte.
public class Main {
public static void main(String[] args) {
int items = 0;
System.out.println("Cart: " + (items == 0 ? "empty" : "has items"));
}
}Choisir une salutation
Une utilisation courante consiste à sélectionner l’un de deux messages.
La condition vérifie un indicateur booléen, et le ternaire choisit le texte de salutation correspondant.
public class Main {
public static void main(String[] args) {
boolean morning = true;
String greet = morning ? "Good morning" : "Hello";
System.out.println(greet);
}
}Priorité des opérateurs
Le ternaire possède une priorité très faible ; les opérations arithmétiques et les comparaisons qu’il contient sont donc effectuées en premier.
Dans a + b > 10 ? "big" : "small", Java calcule a + b, compare le résultat, puis choisit une branche.
Ajoutez des parenthèses lorsque vous le combinez avec + pour concaténer des chaînes de caractères.
int a = 6, b = 7;
String size = a + b > 10 ? "big" : "small";Affecter une valeur selon l’entrée
Les ternaires sont très pratiques pour initialiser une variable en une seule étape.
Ici, des frais sont fixés à zéro pour les membres et à un montant forfaitaire dans les autres cas.
public class Main {
public static void main(String[] args) {
boolean isMember = false;
double fee = isMember ? 0.0 : 9.99;
System.out.println(fee);
}
}Vérification rapide
Vérifiez votre compréhension de la syntaxe ternaire.
Récapitulatif
L’opérateur ternaire condition ? a : b est l’expression conditionnelle compacte de Java, composée de trois parties.
Il renvoie une valeur, n’évalue qu’une seule branche et nécessite des types compatibles des deux côtés.
Utilisez-le pour affecter, renvoyer ou afficher proprement l’une de deux valeurs.
Questions Fréquemment Posées
La leçon « L’opérateur ternaire » est-elle gratuite ?
Oui — le texte complet de « L’opérateur ternaire » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Java Academy, passe à CoddyKit PRO. Le cours Java Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « L’opérateur ternaire » ?
condition ? a : b. Tu pratiques Java Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Java Academy ?
Aucune expérience préalable n'est requise. Java Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.
Combien de temps prend la leçon « L’opérateur ternaire » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Java Academy ?
Oui. Chaque leçon Java Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- L’opérateur ternaire
- Imbriquer des opérateurs ternaires
- Opérateur ternaire ou if/else
- Pièges de lisibilité