Der ternäre Operator
condition ? a : b.
Der ternäre Operator ist eine kostenlose Java Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Java Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Java Academy-Kurs umfasst insgesamt 4 Lektionen.
Was ist der ternäre Operator?
Der ternäre Operator ist Javas einziger Operator, der drei Operanden verwendet. Er bietet eine kompakte Möglichkeit, abhängig von einer Bedingung zwischen zwei Werten zu wählen.
Seine Form lautet: condition ? valueIfTrue : valueIfFalse.
Er erzeugt einen Wert, den Sie zuweisen oder direkt übergeben können.
int age = 20;
String status = age >= 18 ? "adult" : "minor";Die drei Teile
Der erste Teil ist eine boolesche Bedingung. Das ? trennt sie von den Ergebnissen.
Ist die Bedingung wahr, ergibt der Ausdruck den Teil vor :. Ist sie falsch, ergibt er den Teil nach :.
Tatsächlich wird nur einer der beiden Zweige ausgewertet.
int score = 45;
String result = score >= 50 ? "pass" : "fail";Ein vollständiges ausführbares Beispiel
Hier sehen Sie ein vollständiges Programm, das abhängig von einer Zahl eine Bezeichnung ausgibt.
Die Bedingung n % 2 == 0 entscheidet, ob "even" oder "odd" verwendet wird.
public class Main {
public static void main(String[] args) {
int n = 7;
String parity = n % 2 == 0 ? "even" : "odd";
System.out.println(parity);
}
}Es ist ein Ausdruck
Im Gegensatz zu einer if-Anweisung ist ein ternärer Operator ein Ausdruck: Er besitzt einen Wert.
Deshalb können Sie ihn innerhalb von Methodenaufrufen, Rückgaben und Zuweisungen verwenden, an denen eine Anweisung nicht passen würde.
public class Main {
public static void main(String[] args) {
int a = 9, b = 4;
System.out.println("Max is " + (a > b ? a : b));
}
}Zahlen auswählen
Beide Zweige müssen keine Zeichenketten enthalten. Hier wählt der ternäre Operator die größere von zwei Ganzzahlen aus.
Das Ergebnis ist ein int, den Sie speichern und wiederverwenden können.
public class Main {
public static void main(String[] args) {
int x = 12, y = 30;
int max = x > y ? x : y;
System.out.println(max);
}
}Beide Zweige müssen kompatible Typen besitzen
Java muss den Typ des gesamten Ausdrucks kennen. Daher müssen die beiden Zweige kompatible Typen besitzen.
Wenn ein Zweig ein int und der andere eine String ist, wird der Code nicht kompiliert.
Verwenden Sie auf beiden Seiten dieselbe Art von Wert.
boolean ok = true;
// valid: both ints
int code = ok ? 200 : 404;
// invalid: int vs String would not compileAus einer Methode zurückgeben
Ternäre Operatoren eignen sich besonders gut innerhalb von return-Anweisungen, da sie ein vierzeiliges if/else durch eine Zeile ersetzen.
Die folgende Methode gibt den Absolutwert einer Zahl zurück.
public class Main {
static int abs(int n) {
return n < 0 ? -n : n;
}
public static void main(String[] args) {
System.out.println(abs(-8));
}
}In der Ausgabe verwenden
Sie können einen ternären Operator direkt in einen Aufruf von print einfügen.
Setzen Sie ihn beim Verketten in Klammern, damit ? und : vor dem Verknüpfen des Textes durch + zusammen ausgewertet werden.
public class Main {
public static void main(String[] args) {
int items = 0;
System.out.println("Cart: " + (items == 0 ? "empty" : "has items"));
}
}Eine Begrüßung auswählen
Eine häufige Verwendung besteht darin, eine von zwei Nachrichten auszuwählen.
Die Bedingung prüft ein boolesches Flag, und der ternäre Operator wählt den passenden Begrüßungstext aus.
public class Main {
public static void main(String[] args) {
boolean morning = true;
String greet = morning ? "Good morning" : "Hello";
System.out.println(greet);
}
}Operatorrangfolge
Der ternäre Operator besitzt eine sehr niedrige Rangfolge, daher werden darin enthaltene arithmetische Ausdrücke und Vergleiche zuerst ausgeführt.
Bei a + b > 10 ? "big" : "small" berechnet Java zunächst a + b, vergleicht das Ergebnis und wählt anschließend einen Zweig aus.
Fügen Sie beim Kombinieren mit + zur Verkettung von Zeichenketten Klammern hinzu.
int a = 6, b = 7;
String size = a + b > 10 ? "big" : "small";Abhängig von der Eingabe zuweisen
Ternäre Operatoren eignen sich hervorragend, um eine Variable in einem Schritt zu initialisieren.
Hier wird eine Gebühr für Mitglieder auf null und ansonsten auf einen festen Betrag gesetzt.
public class Main {
public static void main(String[] args) {
boolean isMember = false;
double fee = isMember ? 0.0 : 9.99;
System.out.println(fee);
}
}Kurzer Test
Testen Sie Ihr Verständnis der Syntax des ternären Operators.
Zusammenfassung
Der ternäre Operator condition ? a : b ist Javas kompakter, dreiteiliger bedingter Ausdruck.
Er gibt einen Wert zurück, wertet nur einen Zweig aus und benötigt auf beiden Seiten kompatible Typen.
Verwenden Sie ihn, um sauber einen von zwei Werten zuzuweisen, zurückzugeben oder auszugeben.
Häufig gestellte Fragen
Ist die Lektion „Der ternäre Operator“ kostenlos?
Ja — der vollständige Text von „Der ternäre Operator“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Java Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Java Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Der ternäre Operator“?
condition ? a : b. Du übst Java Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Java Academy zu starten?
Keine Vorkenntnisse erforderlich. Java Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.
Wie lange dauert die Lektion „Der ternäre Operator“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Java Academy-Lektion Code schreiben und ausführen?
Ja. Jede Java Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Der ternäre Operator
- Verschachtelte ternäre Operatoren
- Ternärer Operator vs. if/else
- Stolperfallen bei der Lesbarkeit