Opérateur ternaire ou if/else
Quand utiliser chacun d’eux.
Opérateur ternaire ou if/else est une leçon Java Academy gratuite sur CoddyKit. Ceci est la leçon 3 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.
Deux outils, un même objectif
L’opérateur ternaire et if/else permettent tous deux de choisir une branche selon une condition.
La différence essentielle est la suivante : un ternaire est une expression qui produit une valeur, tandis que if/else est une instruction qui exécute des actions.
Choisir le bon outil permet de conserver un code clair.
La même logique, de deux façons
Cette instruction conditionnelle affecte une étiquette en fonction de l’âge.
Elle fonctionne, mais nécessite cinq lignes pour un choix simple.
int age = 16;
String status;
if (age >= 18) {
status = "adult";
} else {
status = "minor";
}Version ternaire
La même affectation sous forme de ternaire tient sur une seule ligne.
Elle déclare et initialise la variable en une seule étape, sans répétition.
int age = 16;
String status = age >= 18 ? "adult" : "minor";Le ternaire renvoie une valeur
Comme un ternaire est une expression, vous pouvez le placer partout où une valeur est attendue : dans des affectations, des instructions return ou des arguments.
Un if ne peut pas être utilisé comme une valeur ; il contrôle uniquement le flux d’exécution.
public class Main {
public static void main(String[] args) {
int n = 5;
System.out.println(n > 0 ? "positive" : "non-positive");
}
}L’instruction conditionnelle peut faire davantage
Une instruction if/else peut exécuter plusieurs instructions par branche : enregistrer des informations, mettre à jour plusieurs variables ou appeler des méthodes.
Un ternaire se limite à produire une seule valeur ; il ne peut donc pas contenir un bloc d’actions.
int balance = -10;
if (balance < 0) {
System.out.println("Overdrawn!");
balance = 0;
} else {
System.out.println("OK");
}Les effets de bord ont leur place dans if/else
Si chaque branche doit effectuer une action (afficher, enregistrer ou lever une exception), utilisez if/else.
Les ternaires servent à choisir une valeur, pas à effectuer des actions. Forcer des effets de bord dans un ternaire nuit à la lisibilité.
// Prefer if/else when branches act
boolean error = true;
if (error) {
System.out.println("Logging error");
}Utiliser un ternaire pour une affectation
Lorsque les deux branches affectent simplement la même variable, un ternaire évite la duplication.
L’instruction conditionnelle répète deux fois le nom de la variable ; le ternaire ne l’écrit qu’une seule fois.
public class Main {
public static void main(String[] args) {
int hour = 14;
String shift = hour < 12 ? "morning" : "afternoon";
System.out.println(shift);
}
}Les règles de typage diffèrent
Un ternaire exige que les deux branches aient un type compatible, afin que l’expression possède un type unique.
Une instruction if/else n’impose pas cette règle, car chaque branche est indépendante et ne produit aucune valeur commune.
// ternary: branches must be compatible types
boolean ok = true;
String msg = ok ? "yes" : "no";Compromis de lisibilité
Pour un choix court et unique, un ternaire est plus clair.
Pour des conditions complexes ou de nombreuses branches, if/else if est plus lisible qu’un long ternaire imbriqué.
Choisissez la forme qu’un lecteur futur comprendra le plus rapidement.
Combiner les deux
Vous pouvez les combiner : utilisez if/else pour contrôler le flux d’exécution et un ternaire dans une branche pour un petit choix de valeur.
Ainsi, les actions et la sélection de valeurs restent à leur place naturelle.
public class Main {
public static void main(String[] args) {
int qty = 3;
if (qty > 0) {
String word = qty == 1 ? "item" : "items";
System.out.println(qty + " " + word);
}
}
}Une règle simple
Utilisez un ternaire lorsque vous affectez ou renvoyez l’une de deux valeurs simples.
Utilisez if/else lorsque les branches exécutent des instructions, produisent des effets de bord ou que la logique s’étend sur plusieurs conditions.
Vérification rapide
Quand devriez-vous préférer if/else à un ternaire ?
Récapitulatif
Les ternaires sont des expressions qui sélectionnent une valeur ; if/else sont des instructions qui exécutent des actions.
Utilisez un ternaire pour les affectations et les retours compacts d’une seule valeur ; utilisez if/else pour les effets de bord, les instructions multiples ou les branchements complexes.
Vous pouvez combiner les deux pour obtenir le résultat le plus clair.
Questions Fréquemment Posées
La leçon « Opérateur ternaire ou if/else » est-elle gratuite ?
Oui — le texte complet de « Opérateur ternaire ou if/else » 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 « Opérateur ternaire ou if/else » ?
Quand utiliser chacun d’eux. 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 3 sur 4.
Combien de temps prend la leçon « Opérateur ternaire ou if/else » ?
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é