Tracks
/
Java
Java
/
Syllabus
/
For-Each Loops
Fo

For-Each Loops in Java

6 exercises

About For-Each Loops

The for-each loop provides a mechanism for executing a block of code for each element in a collection. Some documentation (eg. Oracle's documentation) refers to these as enhanced for loops.

Here is the general syntax:

for(declaration: collection) {
    body;
}

The declaration declares the variable used to hold the values assigned from the collection.

The collection is an array or a collection holding the values that will be assigned to the loop variable.

The body contains the statements that will be executed once for each value in the collection.

For example:

char[] vowels = {'a', 'e', 'i', 'o', 'u'};

for(char vowel: vowels) {
    System.out.println(vowel);
}

which outputs:

a
e
i
o
u

Generally a for-each loop is preferrable over a for loop for the following reasons:

  • A for-each loop is guaranteed to iterate over all values.
  • A for-each loop is more declarative meaning the code is communicating what it is doing, instead of how it is doing it.
  • A for-each loop is foolproof, whereas with for loops it is easy to have an off-by-one error (think of using < versus <=).
  • A for-each loop works on all collection types, including those that do not support using an index to access elements (eg. a Set).
Edit via GitHub The link opens in a new window or tab

Learn For-Each Loops