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.
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
All’interno del ciclo, il blocco di codice viene eseguito per ogni iterazione.
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);
}
}
}
JavaLa console mostra il seguente output:
Sophie
Tim
Anna
John
Melissa
JavaIn modo analogo è possibile ottenere l’output degli elementi di una lista. Il codice sorgente per il ciclo rimane invariato.
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);
}
}
}
JavaPer ciascun nome nella lista viene generata una stringa:
Sophie
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);
}
}
JavaI numeri dell’array vengono sommati uno dopo l’altro alla variabile sum
, precedentemente dichiarata al di fuori del ciclo. Come risultato si ottiene il seguente output:
Result = 42
Java