Java Enhanced For-lus beheersen: syntax, voorbeelden en best practices
Java Enhanced For-lus beheersen
Leer hoe de Java enhanced for-lus iteratie over arrays en collecties vereenvoudigt, met duidelijke voorbeelden en een side-by-side vergelijking met de klassieke for-lus.
De enhanced for-lus – vaak de for-each-lus genoemd – is een vaste waarde in moderne Java (geïntroduceerd in JDK 1.5). Het stelt ontwikkelaars in staat om over arrays, Lists en andere collecties te itereren met minimale boilerplate, wat leesbaarheid verbetert en het risico op off-by-one-fouten vermindert.
Enhanced For-lus Syntax
De syntax is beknopt en expressief:
for (DataType element : arrayOrCollection) {
// verwerk element
}
- arrayOrCollection – het array of de collectie die wordt doorlopen.
- element – een lokale variabele die elke waarde op zijn beurt aanneemt.
- DataType – het type van de elementen.
Voorbeeld 1: Array-elementen printen
// Print array-elementen
class Main {
public static void main(String[] args) {
int[] numbers = {3, 9, 5, -5};
for (int number : numbers) {
System.out.println(number);
}
}
}
Output
3 9 5 -5
Elke iteratie wijst de huidige array-waarde toe aan number, wat het naar de console print.
- Iteratie 1:
number = 3 - Iteratie 2:
number = 9 - Iteratie 3:
number = 5 - Iteratie 4:
number = -5
Voorbeeld 2: Array-elementen optellen
// Bereken de som van alle elementen in een array
class Main {
public static void main(String[] args) {
int[] numbers = {3, 4, 5, -5, 0, 12};
int sum = 0;
for (int number : numbers) {
sum += number;
}
System.out.println("Som = " + sum);
}
}
Output:
Som = 19
| Iteratie | Variabelen |
|---|---|
| 1 | number = 3 sum = 0 + 3 = 3 |
| 2 | number = 4 sum = 3 + 4 = 7 |
| 3 | number = 5 sum = 7 + 5 = 12 |
| 4 | number = -5 sum = 12 + (-5) = 7 |
| 5 | number = 0 sum = 7 + 0 = 7 |
| 6 | number = 12 sum = 7 + 12 = 19 |
Elke lus-iteratie voegt het huidige element toe aan sum, wat resulteert in de eindtotaal.
For-lus vs. Enhanced For-lus
Hoewel beide lussen hetzelfde resultaat bereiken, biedt de enhanced for-lus heldere syntax en elimineert handmatig indexbeheer.
1. Klassieke For-lus
class Main {
public static void main(String[] args) {
char[] vowels = {'a', 'e', 'i', 'o', 'u'};
for (int i = 0; i < vowels.length; ++i) {
System.out.println(vowels[i]);
}
}
}
Output:
a e i o u
2. Enhanced For-lus
class Main {
public static void main(String[] args) {
char[] vowels = {'a', 'e', 'i', 'o', 'u'};
for (char vowel : vowels) {
System.out.println(vowel);
}
}
}
Output:
a e i o u
Beide produceren identieke output, maar de enhanced for-lus is beknopter en minder foutgevoelig. Het is de aanbevolen aanpak voor het itereren over arrays en collecties in moderne Java.
Voor meer details, raadpleeg de officiële Java Tutorials.
Java
- C# foreach Loops: Arrays en Collecties Eenvoudig Itereren
- Java-operators beheersen: typen, syntax en praktische voorbeelden
- Java-commentaar: typen, gebruik en best practices
- Java Strings beheersen: aanmaken, methodes en best practices
- Java interfaces meesteren: concepten, implementatie en best practices
- Java anonieme inner classes meesteren: definitie, syntax en praktische voorbeelden
- Java Try-with-resources meesteren: automatische resource management uitgelegd
- Java Annotaties uitgelegd: typen, plaatsing en praktische voorbeelden
- Java Assertions: een praktische gids voor bugdetectie en codebetrouwbaarheid
- Java-programma om Armstrong-getallen te identificeren met for-lus
- Java palindroom-getal checker: Algoritmen met while en for lussen