Salta ai contenuti

Ciclo for

Un ciclo serve a ripetere lo stesso blocco di codice.

Il ciclo for e utile quando sai quante volte vuoi ripetere.

for (int i = 1; i <= 5; i++) {
System.out.println(i);
}

Output:

1
2
3
4
5

Il ciclo ha questa forma:

for (inizializzazione; condizione; aggiornamento) {
// codice da ripetere
}

Nell’esempio:

for (int i = 1; i <= 5; i++) {

succedono tre cose:

  • int i = 1 crea il contatore
  • i <= 5 dice fin quando continuare
  • i++ aumenta i di 1 dopo ogni giro

In programmazione si conta spesso da zero, soprattutto con array e liste.

for (int i = 0; i < 3; i++) {
System.out.println("Giro " + i);
}

Output:

Giro 0
Giro 1
Giro 2

La condizione i < 3 produce tre giri: 0, 1, 2.

int totale = 0;
for (int i = 1; i <= 5; i++) {
totale = totale + i;
}
System.out.println(totale);

Output:

15

Il programma somma:

1 + 2 + 3 + 4 + 5

Un uso molto comune del for e leggere gli elementi di un array.

String[] nomi = {"Luca", "Sara", "Mina"};
for (int i = 0; i < nomi.length; i++) {
System.out.println(nomi[i]);
}

Output:

Luca
Sara
Mina

nomi.length contiene il numero di elementi dell’array.

Gli indici partono da 0, quindi l’ultimo indice e length - 1.

Questo codice e sbagliato:

String[] nomi = {"Luca", "Sara", "Mina"};
for (int i = 0; i <= nomi.length; i++) {
System.out.println(nomi[i]);
}

La condizione i <= nomi.length permette a i di arrivare a 3, ma gli indici validi sono 0, 1, 2.

La forma corretta e:

for (int i = 0; i < nomi.length; i++) {
System.out.println(nomi[i]);
}

Puoi anche contare al contrario:

for (int i = 5; i >= 1; i--) {
System.out.println(i);
}

Output:

5
4
3
2
1

Usa for quando:

  • conosci il numero di ripetizioni
  • hai un contatore
  • vuoi attraversare un array con gli indici

Se invece vuoi ripetere finche una condizione resta vera, spesso e piu naturale usare while.