English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial di Base Java

Java Controllo dei flussi

Java Array

Java Orientamento ad oggetti (I)

Java Orientamento ad oggetti (II)

Java Orientamento ad oggetti (III)

Gestione delle Eccezioni Java

Java List

Java Queue (coda)

Java Map collection

Java Set collection

Java Input/Output (I/O)

Java Reader/Writer

Altri argomenti Java

Ciclo for Java

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.

Ciclo for Java

La sintassi del ciclo for in Java è:

for (inizializzazione; testExpression; aggiornamento)
{
    // codice all'interno del ciclo
{}

Il funzionamento del ciclo for

  1. InizializzazioneL'espressione (initialization) viene eseguita una sola volta.

  2. Poi, viene valutataTestEspressione (testExpression). In questo caso, l'espressione di test (testExpression) è un'espressione booleana.

  3. Se il risultato del calcolo dell'espressione di test (testExpression) è true, viene eseguito il codice all'interno del ciclo for.

  4. Poi viene eseguitoAggiornamentoEspressione (update).

  5. Di nuovo, viene valutata l'espressione di inizializzazione (initialization).

  6. Se l'espressione di test è true, viene eseguito il codice all'interno del ciclo for e viene continuato con l'espressione di aggiornamento (update).

  7.             Questo processo continua fino a quando l'espressione di test (testExpression) viene valutata come false.

  8. Se il risultato del calcolo dell'espressione di test (testExpression) è false, il ciclo for termina.

Diagramma di flusso del ciclo for

Diagramma di flusso del ciclo for

Esempio 1: ciclo for

// 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.

Esempio 2: ciclo for

// 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

Ciclo infinito

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 (; ; ) {
{}

Ciclo for-each Java (ciclo di scansione)

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