Der ternäre Operator "?:" Verdient seinen Namen, weil er der einzige Operator ist, der drei Operanden akzeptiert. Es ist ein Bedingungsoperator, der eine kürzere Syntax für die if… then… else-Anweisung bereitstellt. Der erste Operand ist ein boolescher Ausdruck. Wenn der Ausdruck wahr ist, wird der Wert des zweiten Operanden zurückgegeben, andernfalls wird der Wert des dritten Operanden zurückgegeben:
Boolescher Ausdruck ? value1 : value2
Die folgende if… then… else-Anweisung:
boolean isHappy = true; String mood = ""; if (isHappy == true) mood = "Ich bin glücklich!"; else mood = "Ich bin traurig!";
kann mit dem ternären Operator auf eine Zeile reduziert werden:
boolean isHappy = true; String mood = (isHappy == true)? "I'm Happy!": "I'm Sad!";
Im Allgemeinen ist der Code leichter zu lesen, wenn die if… then… else-Anweisung vollständig geschrieben ist, aber manchmal kann der ternäre Operator eine praktische Abkürzung für die Syntax sein.