In questo tutorial, impareremo a conoscere il ciclo for-each di Java e la sua differenza con il ciclo for con l'aiuto di esempi.
In Java, il ciclo for-each viene utilizzato per scorrere gli elementi di array e raccolte (come ArrayList). È anche noto come ciclo for migliorato.
per ogni Loop Sytnax
La sintassi del ciclo for-each di Java è:
for(dataType item : array) (… )
Qui,
- array : un array o una raccolta
- elemento : ogni elemento dell'array / raccolta è assegnato a questa variabile
- dataType - il tipo di dati dell'array / collection
Esempio 1: elementi di array di stampa
// 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); ) ) )
Produzione
3 9 5 -5
Qui, abbiamo usato il ciclo for-each per stampare ogni elemento dell'array di numeri uno per uno.
- Nella prima iterazione, l'elemento sarà 3.
- Nella seconda iterazione, l'elemento sarà 9.
- Nella terza iterazione, l'elemento sarà 5.
- Nella quarta iterazione, l'elemento sarà -5.
Esempio 2: somma di elementi di array
// 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); ) )
Uscita :
Somma = 19
Nel programma sopra, l'esecuzione del for each
ciclo appare come:
Iterazione | Variabili |
---|---|
1 | numero = 3 somma = 0 + 3 = 3 |
2 | numero = 4 somma = 3 + 4 = 7 |
3 | numero = 5 somma = 7 + 5 = 12 |
4 | numero = -5 somma = 12 + (-5) = 7 |
5 | numero = 0 somma = 7 + 0 = 7 |
6 | numero = 12 somma = 7 + 12 = 19 |
Come possiamo vedere, abbiamo aggiunto ogni elemento dell'array dei numeri alla variabile sum in ogni iterazione del ciclo.
per loop Vs per-ogni loop
Vediamo come un for-each
ciclo è diverso da un normale ciclo Java for.
1. Utilizzo del ciclo 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)); ) ) )
Uscita :
aeiou
2. Utilizzo di 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); ) ) )
Uscita :
aeiou
Qui, l'output di entrambi i programmi è lo stesso. Tuttavia, il ciclo for-each è più facile da scrivere e da capire.
Questo è il motivo per cui il ciclo for-each è preferito rispetto al ciclo for quando si lavora con array e raccolte.