0Pricing
Java Academy · Lektion

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 compile

Aus 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

  1. Der ternäre Operator
  2. Verschachtelte ternäre Operatoren
  3. Ternärer Operator vs. if/else
  4. Stolperfallen bei der Lesbarkeit
← Zurück zu Java Academy