De ternaire operator
condition ? a : b.
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 compileTerugkeren 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.
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
- De ternaire operator
- Geneste ternaire operatoren
- Ternair versus if/else
- Valkuilen voor leesbaarheid