Java Language Per loop


Esempio

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

I tre componenti del ciclo for (separati da ; ) sono dichiarazione / inizializzazione variabile (qui int i = 0 ), la condizione (qui i < 100 ) e l'istruzione di incremento (qui i++ ). La dichiarazione delle variabili viene eseguita una volta come se fosse posizionata appena all'interno di { alla prima esecuzione. Quindi la condizione viene verificata, se è true il corpo del ciclo verrà eseguito, se è false il ciclo si fermerà. Supponendo che il ciclo continui, il corpo verrà eseguito e, infine, quando viene raggiunto il punto } l'istruzione di incremento verrà eseguita appena prima che la condizione venga nuovamente controllata.

Le parentesi graffe sono facoltative (è possibile una riga con un punto e virgola) se il ciclo contiene una sola istruzione. Tuttavia, è sempre consigliabile utilizzare le parentesi graffe per evitare equivoci e bug.

I componenti del ciclo for sono opzionali. Se la tua logica aziendale contiene una di queste parti, puoi omettere il componente corrispondente dal tuo ciclo for .

int i = obj.getLastestValue(); // i value is fetched from a method
    
for (; i < 100; i++) { // here initialization is not done
    System.out.println(i);
}

La struttura for (;;) { function-body } è uguale ad un ciclo while (true) .

Nested For Loops

Qualsiasi istruzione di loop con un'altra istruzione loop all'interno chiamata loop annidato. Lo stesso modo per il loop che ha più loop interno è chiamato 'nested for loop'.

    for(;;){
        //Outer Loop Statements
        for(;;){
            //Inner Loop Statements
        }
        //Outer Loop Statements
    }

È possibile dimostrare che il ciclo annidato per stampare numeri a forma di triangolo.

for(int i=9;i>0;i--){//Outer Loop
    System.out.println();
    for(int k=i;k>0;k--){//Inner Loop -1
        System.out.print(" ");
    }
    for(int j=i;j<=9;j++){//Inner Loop -2
        System.out.print(" "+j);
    }
 }