Ciclo for-each in Java: sintassi ed esempi
Con il ciclo for-each in Java è possibile iterare array o collezioni in modo più rapido e sicuro, evitare errori e migliorare la leggibilità del codice. In questo tutorial ti spieghiamo più in dettaglio la struttura e i vantaggi del metodo for-each mostrandoti come puoi utilizzare questo ciclo nel tuo codice.
Rispetto al ciclo for in Java, con il metodo for-each non è necessario tenere conto dell’indice o delle dimensioni dell’array. In questo modo si evita che un indice sia al di fuori dell’intervallo valido. Il ciclo for-each utilizza internamente un iteratore per richiamare ciascun elemento dell’array o della lista uno dopo l’altro. L’iteratore provvede al conteggio in automatico facendo scorrere l’array o la lista e termina il ciclo una volta fatti passare tutti gli elementi.
Se invece hai bisogno di accedere all’indice, ad esempio per modificare l’elemento precedente o successivo, potrebbe essere più utile ricorrere al ciclo for o al ciclo while.
La console mostra il seguente output:
In modo analogo è possibile ottenere l’output degli elementi di una lista. Il codice sorgente per il ciclo rimane invariato.
Per ciascun nome nella lista viene generata una stringa:
I numeri dell’array vengono sommati uno dopo l’altro alla variabile
Hai trovato questo articolo utile?
A cosa serve il ciclo for-each in Java?
Il ciclo for-each è utilizzato in molti scenari in cui gli sviluppatori Java devono lavorare con gli array. Ad esempio, è utilizzato spesso per l’output o la ricerca di determinati elementi in un array. Inoltre, è possibile utilizzare il ciclo for-each per l’iterazione di elementi in una lista implementata come ArrayList. In ogni iterazione puoi quindi effettuare manipolazioni automatiche con i consueti operatori Java senza dover scrivere un’istruzione separata per ciascun elemento.Rispetto al ciclo for in Java, con il metodo for-each non è necessario tenere conto dell’indice o delle dimensioni dell’array. In questo modo si evita che un indice sia al di fuori dell’intervallo valido. Il ciclo for-each utilizza internamente un iteratore per richiamare ciascun elemento dell’array o della lista uno dopo l’altro. L’iteratore provvede al conteggio in automatico facendo scorrere l’array o la lista e termina il ciclo una volta fatti passare tutti gli elementi.
Se invece hai bisogno di accedere all’indice, ad esempio per modificare l’elemento precedente o successivo, potrebbe essere più utile ricorrere al ciclo for o al ciclo while.
La sintassi del ciclo for-each in Java
La sintassi fondamentale di un ciclo for-each in Java è la seguente:for (type item : array | collection) {
// code block
}
Java-
array/collection
: nome dell’array o della collezione -
item
: ogni elemento dell’array o della collezione viene assegnato a questa variabile. -
type
: tipo di dati dell’array o della collezione
Esempi di utilizzo del ciclo for-each in Java
Nelle parti seguenti ti mostreremo come utilizzare il metodo for-each per l’output a schermo e le operazioni aritmetiche.Output di elementi sulla console
Il ciclo for-each ti permette di visualizzare sullo schermo ogni elemento di un array o di una collezione.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);
}
}
}
JavaSophie
Tim
Anna
John
Melissa
Javaimport 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);
}
}
}
JavaSophie
Tim
Anna
John
Melissa
JavaCalcolo del totale degli elementi di un array o di una collezione
Con il metodo for-each in Java è possibile eseguire operazioni aritmetiche, come l’addizione di elementi di un array o di una lista, in modo facile e veloce. Gli operatori sono collegati all’interno del blocco di codice del ciclo tramite la variabile che funge da segnaposto per ciascun elemento.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);
}
}
Javasum
, precedentemente dichiarata al di fuori del ciclo. Come risultato si ottiene il seguente output:Result = 42
Java