# 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](https://www.ionos.es/digitalguide/paginas-web/desarrollo-web/operadores-java/) comunes sin tener que escribir una sentencia separada para cada elemento.

Comparado con el [bucle for de Java](https://www.ionos.es/digitalguide/paginas-web/desarrollo-web/for-loop-en-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:

```Java
for (type item : array | collection) {
// code block
}
```

- `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**.

```Java
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);
        }
    }
}
```

En la consola obtenemos el siguiente resultado:

```Java
Sophie
Tim
Anna
John
Melissa
```

De forma similar, se pueden obtener los elementos de una lista. El [código fuente](https://www.ionos.es/digitalguide/paginas-web/desarrollo-web/codigo-fuente-definicion-con-ejemplos/) del bucle no cambia.

```Java
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);
        }
    }
}
```

Se genera una cadena para cada nombre de la lista:

```Java
Sophie
Tim
Anna
John
Melissa
```

### 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.

```Java
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);
    }
}
```

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

```Java
Result = 42
```


This is a markdown version of: [https://www.ionos.es/digitalguide/paginas-web/desarrollo-web/bucle-for-each-en-java/](https://www.ionos.es/digitalguide/paginas-web/desarrollo-web/bucle-for-each-en-java/) for AI/LLM consumption.