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

La console mostra il seguente output:

Sophie
Tim
Anna
John
Melissa
Java

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

Per ciascun nome nella lista viene generata una stringa:

Sophie
Tim
Anna
John
Melissa
Java

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

I 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
Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.