Java Academy · Les

De ternaire operator

condition ? a : b.

Les 1 van 413 stappen

De ternaire operator is een gratis Java Academy-les op CoddyKit. Dit is les 1 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Java Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Java Academy bevat in totaal 4 lessen.

Wat is de ternaire operator?

De ternaire operator is de enige operator van Java die drie operanden gebruikt. Het is een compacte manier om op basis van een voorwaarde tussen twee waarden te kiezen.

De vorm is: condition ? valueIfTrue : valueIfFalse.

De operator levert een waarde op, zodat je die kunt toewijzen of rechtstreeks kunt doorgeven.

int age = 20;
String status = age >= 18 ? "adult" : "minor";

De drie onderdelen

Het eerste onderdeel is een booleaanse voorwaarde. Het teken ? scheidt die van de resultaten.

Als de voorwaarde waar is, levert de expressie het onderdeel vóór : op. Als de voorwaarde onwaar is, levert de expressie het onderdeel na : op.

Er wordt daadwerkelijk maar één van de twee takken geëvalueerd.

int score = 45;
String result = score >= 50 ? "pass" : "fail";

Een volledig uitvoerbaar voorbeeld

Hier zie je een volledig programma dat op basis van een getal een label afdrukt.

De voorwaarde n % 2 == 0 bepaalt of "even" of "odd" wordt gebruikt.

public class Main {
    public static void main(String[] args) {
        int n = 7;
        String parity = n % 2 == 0 ? "even" : "odd";
        System.out.println(parity);
    }
}

Het is een expressie

In tegenstelling tot een if-instructie is een ternaire operator een expressie: hij heeft een waarde.

Dat betekent dat je hem kunt gebruiken in methodeaanroepen, return-instructies en toewijzingen waar een instructie niet zou passen.

public class Main {
    public static void main(String[] args) {
        int a = 9, b = 4;
        System.out.println("Max is " + (a > b ? a : b));
    }
}

Getallen kiezen

Beide takken hoeven geen tekenreeksen te zijn. Hier kiest de ternaire operator het grootste van twee ints.

Het resultaat is een int die je kunt opslaan en opnieuw kunt gebruiken.

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 takken moeten compatibele typen hebben

Java moet het type van de volledige expressie kennen, dus de twee takken moeten compatibele typen hebben.

Als de ene tak een int is en de andere een String, wordt de code niet gecompileerd.

Zorg dat beide kanten hetzelfde soort waarde bevatten.

boolean ok = true;
// valid: both ints
int code = ok ? 200 : 404;
// invalid: int vs String would not compile

Terugkeren uit een methode

Ternaire operatoren komen goed tot hun recht in return-instructies: ze vervangen een if/else van vier regels door één regel.

De methode hieronder retourneert de absolute waarde van een getal.

public class Main {
    static int abs(int n) {
        return n < 0 ? -n : n;
    }
    public static void main(String[] args) {
        System.out.println(abs(-8));
    }
}

Gebruiken in uitvoer

Je kunt een ternaire operator rechtstreeks in een afdrukaanroep opnemen.

Zet hem tussen haakjes wanneer je tekenreeksen samenvoegt, zodat ? en : eerst worden gegroepeerd voordat + de tekst samenvoegt.

public class Main {
    public static void main(String[] args) {
        int items = 0;
        System.out.println("Cart: " + (items == 0 ? "empty" : "has items"));
    }
}

Een begroeting kiezen

Een veelvoorkomende toepassing is het kiezen van een van twee berichten.

De voorwaarde controleert een booleaanse vlag en de ternaire operator kiest de bijbehorende begroetingstekst.

public class Main {
    public static void main(String[] args) {
        boolean morning = true;
        String greet = morning ? "Good morning" : "Hello";
        System.out.println(greet);
    }
}

Prioriteit van operatoren

De ternaire operator heeft een zeer lage prioriteit, waardoor rekenkundige bewerkingen en vergelijkingen daarin eerst worden uitgevoerd.

In a + b > 10 ? "big" : "small" berekent Java a + b, vergelijkt het resultaat en kiest daarna een tak.

Voeg haakjes toe wanneer je de operator met + voor het samenvoegen van tekenreeksen combineert.

int a = 6, b = 7;
String size = a + b > 10 ? "big" : "small";

Toewijzen op basis van invoer

Ternaire operatoren zijn ideaal om een variabele in één stap te initialiseren.

Hier wordt een bedrag voor leden op nul ingesteld en anders op een vast bedrag.

public class Main {
    public static void main(String[] args) {
        boolean isMember = false;
        double fee = isMember ? 0.0 : 9.99;
        System.out.println(fee);
    }
}

Snelle controle

Test of je de syntaxis van de ternaire operator begrijpt.

Samenvatting

De ternaire operator condition ? a : b is de compacte, uit drie onderdelen bestaande voorwaardelijke expressie van Java.

De operator retourneert een waarde, evalueert slechts één tak en vereist aan beide kanten compatibele typen.

Gebruik hem om op een duidelijke manier een van twee waarden toe te wijzen, te retourneren of af te drukken.

Gratis beginnen

Leer Java met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
104
Lessen
374

Veelgestelde vragen

Is de les “De ternaire operator” gratis?

Ja — de volledige tekst van “De ternaire operator” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Java Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Java Academy bevat in totaal 4 lessen.

Wat leer ik in “De ternaire operator”?

condition ? a : b. Je oefent met Java Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Java Academy te beginnen?

Ervaring vooraf is niet nodig. Java Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.

Hoe lang duurt de les “De ternaire operator”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Java Academy?

Ja. Elke les over Java Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. De ternaire operator
  2. Geneste ternaire operatoren
  3. Ternair versus if/else
  4. Valkuilen voor leesbaarheid
← Terug naar Java Academy