Java for-each Loop

In Java, the for-each loop is used to iterate through elements of arrays and collections (like ArrayList). It is also known as the enhanced for loop.


for-each Loop Syntax

The syntax of the Java for-each loop is:

for(dataType item : array) {
    ...
}

Here,

  • array - an array or a collection
  • item - each item of array/collection is assigned to this variable
  • dataType - the data type of the array/collection

Example 1: Print Array Elements

// print array elements 

class Main {
  public static void main(String[] args) {
      
    // create an array
    int[] numbers = {3, 9, 5, -5};
    
    // for each loop 
    for (int number: numbers) {
      System.out.println(number);
    }
  }
}

Output

3
9
5
-5

Here, we have used the for-each loop to print each element of the numbers array one by one.

  • In the first iteration, item will be 3.
  • In the second iteration, item will be 9.
  • In the third iteration, item will be 5.
  • In the fourth iteration, item will be -5.

Example 2: Sum of Array Elements

// Calculate the sum of all elements of an array

class Main {
 public static void main(String[] args) {
  
   // an array of numbers
   int[] numbers = {3, 4, 5, -5, 0, 12};
   int sum = 0;

   // iterating through each element of the array 
   for (int number: numbers) {
     sum += number;
   }
  
   System.out.println("Sum = " + sum);
 }
}

Output:

Sum = 19

In the above program, the execution of the for each loop looks as:

Iteration Variables
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

As we can see, we have added each element of the numbers array to the sum variable in each iteration of the loop.


for loop Vs for-each loop

Let's see how a for-each loop is different from a regular Java for loop.

1. Using for loop

class Main {
 public static void main(String[] args) {
    
   char[] vowels = {'a', 'e', 'i', 'o', 'u'};

   // iterating through an array using a for loop
   for (int i = 0; i < vowels.length; ++ i) {
     System.out.println(vowels[i]);
   }
 }
}

Output:

a
e
i
o
u

2. Using for-each Loop

class Main {
 public static void main(String[] args) {

   char[] vowels = {'a', 'e', 'i', 'o', 'u'};
  
   // iterating through an array using the for-each loop
   for (char item: vowels) {
     System.out.println(item);
   }
 }
}

Output:

a
e
i
o
u

Here, the output of both programs is the same. However, the for-each loop is easier to write and understand.

This is why the for-each loop is preferred over the for loop when working with arrays and collections.

Before we wrap up, let’s put your knowledge of Java for-each Loop (With Examples) to the test! Can you solve the following challenge?

Challenge:

Write a function to calculate the sum of elements in a list.

  • Return the sum of all elements in the array arr.
  • For example, if arr[] = {10, 20, 30, 40, 50} and arrSize = 5, the expected output is 150.
Did you find this article helpful?

Your builder path starts here. Builders don't just know how to code, they create solutions that matter.

Escape tutorial hell and ship real projects.

Try Programiz PRO
  • Real-World Projects
  • On-Demand Learning
  • AI Mentor
  • Builder Community