Ternaire Operator
Hoe kunnen we een if-else statement verkorten?
De if
-statement is niet altijd elegant, maar Java biedt een snellere en handigere manier om voorwaarden te controleren. Dit wordt de ternaire operator genoemd en heeft de volgende syntaxis:
condition ? expression_for_true : expression_for_false
Eerst stellen we een voorwaarde in, bijvoorbeeld 10 > 5
, en daarna plaatsen we een vraagteken ?
erachter. Als de voorwaarde true
oplevert, gaan we naar het true-blok, bijvoorbeeld System.out.println("That's true");
. Als de voorwaarde false
oplevert, gaan we naar het false-blok, waar we bijvoorbeeld System.out.println("That's not true");
kunnen hebben.
Laten we een praktischer voorbeeld analyseren:
Main.java
package com.example; public class Main { public static void main(String[] args) { System.out.println(10 > 5 ? "That's true" : "That's false"); System.out.println(5 > 6 ? "That's true" : "That's false"); } }
Je hebt misschien gemerkt dat we de tertiaire operator gebruikten binnen de System.out.println();
-instructie. Dat is het belangrijkste doel van het gebruik van de tertiaire operator - je kunt deze binnen uitvoerinstructies gebruiken om de hoeveelheid code aanzienlijk te verminderen.
We kunnen de tertiaire operator ook gebruiken bij het initialiseren of teruggeven van waarden. Je leert meer over het teruggeven van waarden in de volgende sectie wanneer je methoden bestudeert.
Voorbeeld van het gebruik van de tertiaire operator bij het initialiseren van een waarde:
Main.java
package com.example; public class Main { public static void main(String[] args) { final int a = 10 > 2 ? 5 : 2; final int b = 10 < 2 ? 5 : 2; System.out.println("Variable 'a' has value: " + a); System.out.println("Variable 'b' has value: " + b); } }
Hieronder staat een voorbeeldcode waarbij de tertiaire operator is vervangen door een gewone if
-instructie om je te helpen beter te begrijpen hoe het werkt:
Main.java
package com.example; public class Main { public static void main(String[] args) { int a = 0; int b = 0; if (10 > 2) { a = 5; } else { a = 2; } if (10 < 2) { b = 5; } else { b = 2; } System.out.println("Variable 'a' has value: " + a); System.out.println("Variable 'b' has value: " + b); } }
Het resultaat is hetzelfde, maar je ziet hoeveel ruimte we besparen door de ternaire operator te gebruiken.
Swipe to start coding
-
Schrijf een code die
"The string contains Florida"
afdrukt als de string het woord Florida bevat, of"Florida is not found"
als dat niet het geval is. -
Gebruik de ternary-operator om hiermee te oefenen.
Oplossing
solution.java
Bedankt voor je feedback!