Bucle for each en Java: sintaxis y ejemplos

Con el bucle for each de Java puedes recorrer arrays o colecciones de forma más rápida y segura, evitar errores y mejorar la legibilidad del código. En este tutorial, te explicamos la estructura y las ventajas del método for each en detalle y te mostramos cómo utilizar el bucle en tu código.

¿Para qué sirve el bucle for each de Java?

El bucle for each se utiliza en muchas situaciones en las que los desarrolladores de Java tienen que trabajar con arrays. Por ejemplo, un uso habitual es la salida o búsqueda de elementos específicos de un array. El bucle for each también se puede utilizar para iterar a través de los elementos de una lista implementada como ArrayList. En cada iteración, se pueden realizar manipulaciones automáticas con los operadores Java comunes sin tener que escribir una sentencia separada para cada elemento.

Comparado con el bucle for de Java, el método for each de Java no necesita considerar el índice o el tamaño del array. Esto evita que un índice esté fuera del rango válido. El bucle for each utiliza internamente un iterador para abrir sucesivamente cada elemento del array o lista. El iterador cuenta automáticamente a través del array o lista y termina el bucle cuando todos los elementos han sido recorridos.

Sin embargo, si necesitas acceder al índice, por ejemplo, para editar el elemento siguiente o anterior, puede ser más apropiado utilizar el bucle for o while.

La sintaxis del bucle for each de Java

La sintaxis básica de un bucle for each en Java es la siguiente:

for (type item : array | collection) {
// code block
}
Java
  • array/collection: nombre del array o colección
  • item: cada elemento del array o colección se asigna a esta variable
  • type: tipo de datos del array o colección

Dentro del bucle, el bloque de código se ejecuta para cada iteración.

Ejemplos de uso del bucle for each de Java

A continuación, te mostramos cómo utilizar el método for each utilizando salida en pantalla y operaciones aritméticas como ejemplo.

Elementos de salida en la consola

Utilizando el bucle for each, puedes mostrar cada elemento de un array o colección en pantalla.

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

    // array
    String[] names = {"Sophie", "Tim", "Anna", "John", "Melissa"};

    // for each loop
    for (String name: names) {
      System.out.println(name);
    }
  }
}
Java

En la consola obtenemos el siguiente resultado:

Sophie
Tim
Anna
John
Melissa
Java

De forma similar, se pueden obtener los elementos de una lista. El código fuente del bucle no cambia.

import java.util.ArrayList;

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

    // list
    ArrayList<String> names = new ArrayList<String>();

    names.add( "Sophie" );
    names.add( "Tim" );
    names.add( "Anna" );
    names.add( "John" );
    names.add( "Melissa" );

    // for each loop
    for(String name: names){
      System.out.println(name);
    }
  }
}
Java

Se genera una cadena para cada nombre de la lista:

Sophie
Tim
Anna
John
Melissa
Java

Calcular la suma de elementos de un array o colección

Las operaciones aritméticas, como la suma de elementos de un array o una lista, pueden realizarse fácil y rápidamente con el método Java for each. Los operadores están vinculados a la variable que sirve de marcador de posición para cada elemento dentro del bloque de código del bucle.

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

    // array
    int[] numbers = {10, 34, 7, 19, -28};
    int sum = 0;

    // addition
    for (int number: numbers) {
      sum += number;
    }

    System.out.println("Result = " + sum);
  }
}
Java

Los números del array se suman en secuencia a la variable suma, declarada previamente fuera del bucle. El resultado es el siguiente:

Result = 42
Java