En este tutorial, aprenderemos sobre el bucle for-each de Java y su diferencia con el bucle for con la ayuda de ejemplos.
En Java, el bucle for-each se utiliza para iterar a través de elementos de matrices y colecciones (como ArrayList). También se conoce como bucle for mejorado.
para cada Loop Sytnax
La sintaxis de Java for-each loop es:
for(dataType item : array) (… )
Aquí,
- matriz : una matriz o una colección
- elemento : cada elemento de la matriz / colección se asigna a esta variable
- dataType : el tipo de datos de la matriz / colección
Ejemplo 1: Imprimir elementos de matriz
// 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); ) ) )
Salida
3 9 5-5
Aquí, hemos utilizado el bucle for-each para imprimir cada elemento de la matriz de números uno por uno.
- En la primera iteración, el elemento será 3.
- En la segunda iteración, el elemento será 9.
- En la tercera iteración, el elemento será 5.
- En la cuarta iteración, el elemento será -5.
Ejemplo 2: Suma de elementos de matriz
// 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); ) )
Salida :
Suma = 19
En el programa anterior, la ejecución del for each
ciclo se ve así:
Iteración | Variables |
---|---|
1 | número = 3 suma = 0 + 3 = 3 |
2 | número = 4 suma = 3 + 4 = 7 |
3 | número = 5 suma = 7 + 5 = 12 |
4 | número = -5 suma = 12 + (-5) = 7 |
5 | número = 0 suma = 7 + 0 = 7 |
6 | número = 12 suma = 7 + 12 = 19 |
Como podemos ver, hemos agregado cada elemento de la matriz de números a la variable suma en cada iteración del ciclo.
para bucle Vs para cada bucle
Veamos en qué for-each
se diferencia un bucle de un bucle for de Java normal.
1. Uso de bucle for
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)); ) ) )
Salida :
aeiou
2. Uso de para cada bucle
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); ) ) )
Salida :
aeiou
Aquí, la salida de ambos programas es la misma. Sin embargo, el bucle for-each es más fácil de escribir y comprender.
Esta es la razón por la que se prefiere el bucle for-each sobre el bucle for cuando se trabaja con matrices y colecciones.