English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo tutorial, impareremo come utilizzare il ciclo for in Java e anche come funziona il ciclo for nel programming informatico.
Nel programming informatico, i cicli vengono utilizzati per ripetere un blocco di codice specifico fino a quando non si soddisfa una condizione specifica (l'espressione di test è false). Ad esempio:
Immagina, dobbiamo stampare una frase 50 volte sullo schermo. Bene, possiamo farlo stampando la frase 50 volte (senza utilizzare un ciclo). E se dovessimo stampare la frase un milione di volte? In questo caso, ci serve un ciclo. Utilizzando un ciclo, possiamo scrivere una volta sola la frase da stampare e eseguire il ciclo quante volte ci serve.
Questo è solo un esempio semplice che mostra l'importanza del ciclo nel programming informatico.
La sintassi del ciclo for in Java è:
for (inizializzazione; testExpression; aggiornamento) { // codice all'interno del ciclo {}
InizializzazioneL'espressione (initialization) viene eseguita una sola volta.
Poi, viene valutataTestEspressione (testExpression). In questo caso, l'espressione di test (testExpression) è un'espressione booleana.
Se il risultato del calcolo dell'espressione di test (testExpression) è true, viene eseguito il codice all'interno del ciclo for.
Poi viene eseguitoAggiornamentoEspressione (update).
Di nuovo, viene valutata l'espressione di inizializzazione (initialization).
Se l'espressione di test è true, viene eseguito il codice all'interno del ciclo for e viene continuato con l'espressione di aggiornamento (update).
Questo processo continua fino a quando l'espressione di test (testExpression) viene valutata come false.
Se il risultato del calcolo dell'espressione di test (testExpression) è false, il ciclo for termina.
// programma stampa una frase dieci volte class Loop { public static void main(String[] args) { per (int i = 1; i <= 10; ++i) { System.out.println("Linea " + i); {} {} {}
Output:
Linea 1 Linea 2 Linea 3 Linea 4 Linea 5 Linea 6 Linea 7 Linea 8 Linea 9 Linea 10
Nell'esempio sopra, abbiamo
Espressione di inizializzazione:int i = 1
Espressione di test:i <= 10
Espressione di aggiornamento:++ i
Qui, il valore iniziale di i è 1. Pertanto, l'espressione di test è valutata per la prima volta come true. Pertanto, viene eseguito lo statement di stampa. Ora si valuterà l'espressione di aggiornamento.
Ogni volta che si valuta l'espressione di aggiornamento, il valore di i aumenta di 1. Ancora una volta, si valuta l'espressione di test e si ripete lo stesso processo.
Questo processo continua fino a quando i è 11. Quando i è 11, l'espressione di test (i <= 10) è falsa, il ciclo for termina.
Per ulteriori informazioni sull'espressione di test e sul modo in cui viene valutata, visitareOperatore di confrontoeOperatore logico.
// Il programma cerca la somma dei numeri naturali da 1 a 1000. class Number { public static void main(String[] args) { int sum = 0; for (int i = 1; i <= 1000; ++i) { sum += i; // equivalente a sum = sum + i {} System.out.println("Sum = " + sum); {} {}
Output:
Sum = 500500
Qui, abbiamo una variabile chiamata sum. Il suo valore iniziale è 0. All'interno del ciclo for, abbiamo inizializzato una variabile chiamata i con un valore di 1.
In ogni iterazione del ciclo for,
Assegna un valore alla variabile sum: sum + i
Il valore di i aumenta di 1
Il ciclo continua fino a quando il valore di i è maggiore di 1000. Per ottenere una migliore visualizzazione,
1 Ripeti: i = 1 e sum = 0 + 1 = 1 2 Ripeti: i = 2 e sum = 1 + 2 = 3 3 Ripeti: i = 3 e sum = 3 + 3 = 6 4 Ripeti: i = 4 e sum = 6 + 4 = 10 ... .. ... 999 Ripeti: i = 999 e sum = 498501 + 999 = 499500 1000 Ripeti: i = 1000 e sum = 499500 + 1000 = 500500
Quando si utilizza un ciclo, dobbiamo sempre essere cauti. Questo perché se immettiamo erroneamente l'espressione di test in modo che non sia mai falsa, il ciclo for continuerà per sempre.
Questo si chiama ciclo infinito. Ad esempio,
//Ciclo infinito class Infinite { public static void main(String[] args) { int sum = 0; for (int i = 1; i <= 10; --i) { System.out.println("Hello"); {} {} {}
Qui, l'espressione di test (i <= 10) non apparirà mai false e hello verrà stampato innumerevoli volte (almeno teoricamente).
for (; ; ) { {}
In Java, un'altra sintassi del ciclo for può essere utilizzata perArray JavaeCollezioni Javachiamato ciclo di scansione). Ad esempio,
for (int a : array) { System.out.println(a); {}
Per ulteriori informazioni, visitare:Ciclo di scansione Java