Ternaire


❓ L’opérateur ternaire en Java

L’opérateur ternaire est une forme abrégée du if...else, qui permet d’écrire des conditions simples en une seule ligne.

Il est souvent utilisé pour rendre le code plus concis, surtout lorsqu’on veut affecter une valeur selon une condition.


🧰 Syntaxe de base

(condition) ? valeurSiVrai : valeurSiFaux;

C’est comme dire : “Si la condition est vraie, retourne ceci ; sinon, retourne cela.”


📦 Exemple simple

int âge = 20;
String statut = (âge >= 18) ? "Majeur" : "Mineur";

System.out.println(statut);  // Affiche : Majeur

✳️ C’est équivalent à :

String statut;
if (âge >= 18) {
    statut = "Majeur";
} else {
    statut = "Mineur";
}

⚙️ Utilisation typique

L’opérateur ternaire est très utilisé pour affecter une valeur selon une condition :

double note = 85;
String résultat = (note >= 60) ? "Réussi" : "Échoué";

On peut aussi l’utiliser directement dans un System.out.println() :

System.out.println((note >= 90) ? "Excellent" : "À améliorer");

🛑 À éviter pour les cas complexes

Même si l’opérateur ternaire est pratique, il devient illisible si la condition ou les valeurs sont longues :

// Trop compliqué !
String grade = (score >= 90) ? "A" : (score >= 75) ? "B" : "C";
// 🤯 Difficile à lire et à maintenir

➡️ Dans ces cas-là, préfère une structure if...else classique.


🔥 À retenir

  • L’opérateur ternaire est une forme courte de if...else.
  • Il s’écrit : (condition) ? valeurSiVrai : valeurSiFaux;
  • Très utile pour initialiser une variable selon une condition.
  • À éviter si la logique devient trop complexe ou trop imbriquée.
  • Rends le code plus compact, mais pas toujours plus clair.

🔹 Exercice 1 : Adulte ou non

Crée une variable int age et utilise l’opérateur ternaire pour initialiser une variable String statut :

  • "Majeur" si l’âge est supérieur ou égal à 18
  • "Mineur" sinon

Puis affiche la variable statut.

public class Exo1 {
    public static void main(String[] args) {
        // Déclaration de l’âge
        

        // Utilisation du ternaire pour déterminer le statut
        

        // Affichage
       
    }
}

Sortie attendue (si age = 15)

Mineur

🔹 Exercice 2 : Résultat de l’élève

Crée une variable int note, et utilise un opérateur ternaire pour afficher :

  • "Réussi" si la note est supérieure ou égale à 60
  • "Échoué" sinon

Astuce : Tu peux afficher directement dans le System.out.println().

public class Exo2 {
    public static void main(String[] args) {
        // Déclaration de la note
        

        // Affichage immédiat avec ternaire
       
    }
}

Sortie attendue (si note = 72)

Réussi

🔹 Exercice 3 : Nombre pair ou impair

Crée une variable int nombre, puis utilise un ternaire pour afficher :

  • "Pair" si le nombre est divisible par 2
  • "Impair" sinon
public class Exo3 {
    public static void main(String[] args) {
        // Déclaration du nombre
        

        // Affichage avec ternaire
       
    }
}

Sortie attendue (si nombre = 7)

Impair