L'opérateur ternaire permet de poser une structure conditionnelle compacte à trois opérandes.
Type variable variable = Condition ? Expression_1 : Expression_2; // est équivalent à if (Condition) { Expression_1; } else { Expression_2; }
L'opérateur ternaire utilise l'expression conditionnelle retournant true ou false, pour déterminer laquelle des deux expressions doit être exécutée.
L'opérateur ternaire fonctionne comme une instruction if... else. Si la condition initiale renvoie true, alors la première instruction est éxécutée sinon la deuxième est activée.
String message = (jour == "Lundi") ? "Bonne reprise du travail !" : "Bonne continuation !"; float Prix; float difference = (Prix >= 100) ? Prix - 100 : 100 - Prix;
Le type du résultat de l'instruction ternaire est du même type que celui des expressions sous certaines conditions :
SuperClasse obj_1 = new SuperClasse(); Classe obj_1 = new Classe(); SuperClasse res = i > 0 ? obj_1 : obj_2; byte taille_1; short taille_2; short res = t == 100 ? taille_1 : taille_2;