Opérateur ternaire
Fait partie de la section Fondamentaux du Journey Java de Coddy — leçon 30 sur 73.
L'opérateur ternaire est une instruction if-else simple sur une ligne. Il a la syntaxe suivante :
variable = (condition) ? value_if_true : value_if_false;L'opérateur ternaire évalue la condition. Si c'est true, il assigne value_if_true à la variable ; sinon, il assigne value_if_false.
Par exemple:
int age = 20;
String message = (age >= 18) ? "Adult" : "Minor";Dans cet exemple, puisque age est supérieur ou égal à 18, message se verra assigner la valeur "Adult". Si age était inférieur à 18, message se verrait assigner "Minor".
Vous pouvez imbriquer des opérateurs ternaires pour gérer plusieurs conditions :
int score = 75;
String grade = (score >= 90) ? "A" : (score >= 80) ? "B" : (score >= 70) ? "C" : "F";Ceci vérifie plusieurs conditions dans l'ordre. Si score >= 90, grade est "A" ; sinon si score >= 80, grade est "B" ; sinon si score >= 70, grade est "C" ; sinon "F".
Remarque : Les opérateurs ternaires imbriqués peuvent être difficiles à lire. Pour des conditions complexes, utilisez des instructions if-else à la place.
Défi
DébutantCréez un programme qui vérifie si un nombre est positif, négatif ou zéro en utilisant l'opérateur ternaire. Le programme devrait :
- Prendre une entrée entière de l'utilisateur.
- Utiliser l'opérateur ternaire pour déterminer si le nombre est positif, négatif ou zéro.
- Afficher le résultat au format :
"The number is [positive/negative/zero]".
Aide-mémoire
L'opérateur ternaire est une instruction if-else sur une ligne avec la syntaxe :
variable = (condition) ? value_if_true : value_if_false;Il évalue la condition et assigne value_if_true si la condition est true, sinon assigne value_if_false.
Exemple :
int age = 20;
String message = (age >= 18) ? "Adult" : "Minor";Opérateurs ternaires imbriqués pour gérer plusieurs conditions :
int score = 75;
String grade = (score >= 90) ? "A" : (score >= 80) ? "B" : (score >= 70) ? "C" : "F";Cela vérifie plusieurs conditions dans l'ordre. Si score >= 90, grade est "A" ; sinon si score >= 80, grade est "B" ; sinon si score >= 70, grade est "C" ; sinon "F".
Note : Les opérateurs ternaires imbriqués peuvent être difficiles à lire. Pour des conditions complexes, utilisez des instructions if-else à la place.
Essayez vous-même
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int number = scanner.nextInt();
String result = "";
// Écrivez votre code ci-dessous
System.out.println("The number is " + result);
scanner.close();
}
}Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
4Opérateurs - Partie 1
Opérateurs arithmétiquesOpérateur moduloIncrémentation / DécrémentationPost-incrémentation / Post-décrémentationRaccourcis arithmétiquesOpérateurs de comparaisonComparaison de chaînes7Entrées/Sorties de base
Méthodes System.outFormatage de la sortieClasse ScannerRécapitulatif - Jusqu'à 120Récapitulatif - Vrai ou Faux10Méthodes (Fonctions)
Déclaration de méthodesParamètres de méthodeTypes de retourSurcharge de méthodesRécapitulatif - Fonction SigmaRécapitulatif - Fonction de validationMéthodes Void13Opérations sur les chaînes
Méthodes de chaînes, partie 1Méthodes de chaînes, partie 2Formatage de chaînesComparaison de chaînes5Opérateurs, partie 2
Opérateurs logiques, partie 1Opérateurs logiques, partie 2Récapitulatif - Logique simpleOpérateurs logiques, partie 3Opérateurs logiques, partie 43Variables Partie 2
ConstantesConventions de nommageRécapitulatif - Initialisation des variablesType Casting Partie 1Type Casting Partie 26Prise de décision
Instruction IfIf - ElseInstruction SwitchOpérateur ternaireRécapitulatif - If ElseIf - Else imbriqués9Boucles
Boucle For - Partie 1Boucle WhileBoucle Do WhileBreakContinueBoucle For - Partie 2Boucles imbriquéesBoucle infinieRécapitulatif - Entrée dynamique12Parcourir les tableaux
Utilisation de la boucle forBoucle for amélioréeOpérations courantes sur les tableaux