da
TardoFreak » 1 ott 2016, 14:10
Il controllo di ciclo "for" è sostanzialmente identico al "while". La differenza si può facilmente vedere in questi due frammenti di codice che svolgono esattamente la stessa funzione
- Codice: Seleziona tutto
int i = 1;
while(i < 10) {
// Istruzioni da iterare
i = i + 1;
}
Prima di iniziare il ciclo è necessario dichiarare la variabile "i" utilizzata per il conteggio ed inizializzarla. La variabile "i" deve essere incrementata all'interno del blocco.
Mentre, se si usa il costrutto "for" il codice diventa
- Codice: Seleziona tutto
for(int i=1; i<10; ii+1) {
// Istruzioni da iterare
}
Il costrutto for è:
for( <istruzioni di inizializzazione> ; <condizione> ; <istruzioni da eseguire a fine ciclo> )Quindi prima di tutto vengono eseguite le istruzioni di inizializzazione, ovviamente la condizione è quella di ingresso e di permanenza e, terminata l'esecuzione delle linee interne al blocco (o della eventuale singola istruzione) vengono eseguite le istruzioni da eseguire a fine ciclo.
Nel nostro caso con nel costrutto "for" troviamo la dichiarazione e l'inizializzazione di "i" , la condizione d'ingresso e permanenza (identica a quella dell'esempio con il "while") e l'istruzione di incremento della variabile che, usando il "while" dobbiamo scrivere all'interno del blocco.
L'unica differenza fra i due esempi è la dichiarazione di i. Ho volutamente posto la dichiarazione nel costrutto "for" per far notare che nel primo esempio, all'uscita dal ciclo la variabile "i" esiste ancora, mentre nel secondo la sua esistenza è limitata ed una volta usciti dal blocco non esiste più.
L'avessi dichiarata fuori
- Codice: Seleziona tutto
int i;
for(i=1; i<10; ii+1) {
// Istruzioni da iterare
}
I due esempi sarebbero esattamente la stessa cosa.
Nota:
la dichiarazione di variabile all'interno del costrutto"for" si può fare in Java ma non in C.Nota 2: nel costrutto "for"sia in C che in Java nello spazio dedicato all'inizializzazione ed alle operazioni da eseguire a fine ciclo, si possono scrivere più istruzioni separate da virgole. Particolare di poca utilità pratica, ma molto utile quando si vuole fare i fighi e scrivere un frammento di codice in una sola linea.

"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.