CodeGym /Corsi /JAVA 25 SELF /Ciclo for: introduzione e particolarità d'uso

Ciclo for: introduzione e particolarità d'uso

JAVA 25 SELF
Livello 4, Lezione 2
Disponibile

1. Introduzione

Immaginate di avere il compito di stampare a schermo per dieci volte «Ciao!». Certo, potreste scrivere dieci righe con System.out.println("Ciao!"); — ma ormai conoscete il ciclo while, quindi ve la caverete senza problemi.

Ma c’è anche un altro ciclo — for, che ripete l’azione necessaria per il numero di volte richiesto. E sa contare da solo!

Ecco un esempio tipico:

for (int i = 0; i < 10; i++)
{
    System.out.println("Ciao!");
}
Ciclo for classico — stampare 10 volte "Ciao!"

Che cosa fa questo codice? Stampa a schermo la parola «Ciao!» esattamente 10 volte. Senza copia‑incolla e senza dolore al polso.

2. Sintassi del ciclo for

Il ciclo for è composto da tre parti principali, che si scrivono tra parentesi tonde dopo la parola chiave for:

for (inizializzazione; condizione; aggiornamento)
{
    // Corpo del ciclo
}
Sintassi generale del ciclo for

Vediamo in dettaglio ciascun elemento:

  • Inizializzazione — di solito la creazione della variabile contatore con cui si tiene il conteggio delle ripetizioni (int i = 0).
  • Condizione — un controllo prima di ogni iterazione. Se è vera — si esegue il corpo del ciclo. Se è falsa — il ciclo termina. Ad esempio, i < 10.
  • Aggiornamento — l’operatore che scatta dopo ogni iterazione. Di solito incrementa o decrementa il valore del contatore (i++).

Si può raffigurare con uno schema:

Schema di funzionamento del ciclo for

3. Confronto tra for e while

Forse vi sarà più chiaro se dico che for è semplicemente un altro modo di scrivere un ciclo while.

Ecco un ciclo while:

int i = 0;					// Inizializzazione della variabile per il ciclo
while(i<10)					// Verifica della condizione di prosecuzione del ciclo
{
    System.out.println(i); 	// Azione utile (corpo del ciclo)
    i++;					// Incremento del contatore
}

Possiamo riscriverlo come un ciclo for, semplicemente spostando tutte le azioni che governano la logica del ciclo:

for (int i = 1; i <= 10; i++)  // Inizializzazione; Verifica della condizione; Incremento del contatore
{
    System.out.println(i);		// Azione utile (corpo del ciclo)
}

Passi di esecuzione di entrambi i cicli:

  1. L’inizializzazione int i = 0; viene eseguita 1 volta prima del ciclo.
  2. Poi viene eseguito il controllo della condizione i <= 10
  3. Poi l’azione utile del ciclo System.out.println(i);
  4. Poi l’incremento del contatore i++
  5. Poi si torna al passo 2.

4. Esempi d’uso del ciclo for

L’esempio più semplice

Stampiamo i numeri da 1 a 5:

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

Output:

1
2
3
4
5

Nota: se aveste scritto i < 5, l’ultimo valore stampato sarebbe 4.

Conto alla rovescia

Volete sentirvi astronauti? Facciamo un conto alla rovescia!

for (int i = 5; i > 0; i--)
{
    System.out.println(i);
}
System.out.println("Si parte!");

Output:

5
4
3
2
1
Si parte!

Passo del ciclo diverso da 1

Si può modificare il contatore non solo di 1, ma anche di qualsiasi altro numero:

for (int i = 0; i <= 10; i += 2)
{
    System.out.println(i);
}
// Stamperà: 0 2 4 6 8 10

5. Varianti del ciclo for

Più variabili nel ciclo

A volte è comodo tenere traccia di due variabili contemporaneamente. Per esempio, stampiamo i numeri da destra a sinistra e da sinistra a destra:

for (int left = 1, right = 10; left <= 10; left++, right--)
{
    System.out.println(left + "  " + right);
}

Output:

1  10
2  9
3  8
...
10  1

Ciclo for infinito

Se il caso è davvero disperato (per esempio, il vostro progetto — moto perpetuo nell’IT), si può fare un ciclo for «eterno»:

for (;;) // né inizializzazione, né condizione, né aggiornamento
{
    System.out.println("Lavorare, lavorare e ancora lavorare!");
}
Ciclo for infinito

Attenzione: un ciclo del genere terminerà solo se nel corpo c’è break, return o throw. Non usatelo senza motivo, altrimenti rischiate di svegliare un antico demone — «Il processo non risponde».

1
Compito
JAVA 25 SELF, livello 4, lezione 2
Bloccato
Conto alla rovescia per il Capodanno 🎉
Conto alla rovescia per il Capodanno 🎉
1
Compito
JAVA 25 SELF, livello 4, lezione 2
Bloccato
Numeri dei posti nel vagone 🚂
Numeri dei posti nel vagone 🚂
1
Compito
JAVA 25 SELF, livello 4, lezione 2
Bloccato
Calcolo del costo totale degli acquisti 🛍️
Calcolo del costo totale degli acquisti 🛍️
1
Compito
JAVA 25 SELF, livello 4, lezione 2
Bloccato
Coordinate di oggetti in movimento 🕹️
Coordinate di oggetti in movimento 🕹️
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION