Come scrivere un ciclo for in Java

I loop sono strumenti di programmazione molto potenti che completano una serie di istruzioni fino a quando non viene soddisfatta una condizione. Sono molto utili e dovrebbero essere uno dei primi concetti di programmazione che impari. Esistono molti tipi diversi di loop, ma i loop for sono probabilmente uno dei loop più utili.

Il ciclo For in Java

I cicli For continueranno a eseguire un blocco di codice finché non viene soddisfatta una condizione. È importante notare che un ciclo for verificherà la condizione all'inizio del ciclo, non alla fine. Ciò significa che se la condizione è soddisfatta, il ciclo non verrà avviato.

La sintassi del ciclo è simile in tutti i linguaggi di programmazione. Quindi, se hai creato un ciclo for in un altro linguaggio di programmazione, un ciclo for Java ti sembrerà familiare. Tuttavia, se non hai familiarità con Java, ti consigliamo di leggere un tutorial per principianti prima di apprendere argomenti avanzati come i cicli for.

 for([statement1]; [condition]; [statement2]){
//code to execute each loop
}

La parola chiave for indica un ciclo for. La condizione che determina per quanto tempo il ciclo continuerà si trova tra le parentesi. La prima istruzione viene eseguita una volta quando viene avviato il ciclo for. La condizione definisce quando il ciclo deve fermarsi. La seconda istruzione viene eseguita alla fine di ogni ciclo. I punti e virgola segnano la fine dell'istruzione1 e della condizione. In genere, le istruzioni vengono utilizzate per creare un contatore e la condizione interrompe il ciclo una volta che il contatore raggiunge un numero specifico. Infine, il codice che viene eseguito in ogni ciclo viene inserito tra le parentesi graffe.

 public class Main{
public static void main(String[] args) {
for(int i = 1; i < 4; i++){
System.out.print(i);
}
}
}
//Output: 123

Nell'esempio sopra, il ciclo for stampa il valore di i . La parola chiave per inizializza il ciclo. La variabile i è inizialmente impostata su 1. La condizione controlla se i è quattro o maggiore. Questo non è il caso, quindi il nostro ciclo viene eseguito. Il codice del ciclo stampa il valore di i , che a questo punto è ancora 1. Una volta completato il codice del ciclo, i viene incrementato di uno e il ciclo ricomincia. Alla fine del terzo ciclo, i viene aumentato a quattro. Quando inizia il ciclo successivo, la nostra condizione è soddisfatta, quindi il ciclo si ferma.

Correlati: Concetti fondamentali di Java da apprendere quando si inizia

Nidificato per loop

Una volta che hai imparato a usare un ciclo for, dovresti provare a creare un ciclo for annidato. Questo è quando hai un ciclo for all'interno di un altro ciclo for. Questa è una tecnica avanzata perché può essere difficile capire come interagiranno i due loop. Un buon modo per visualizzare il funzionamento dei cicli for annidati consiste nel creare il seguente modello con un ciclo for annidato.

 *
**
***

Per crearlo, avremo bisogno di un loop per controllare quante stelle sono stampate su ciascuna linea e un altro loop per controllare quante linee creare. Quando si è nuovi ai cicli for annidati, può essere difficile determinare quale sia il ciclo interno. In questo caso, il ciclo che stampa le stelle è il ciclo interno. Abbiamo bisogno che quel ciclo venga eseguito ogni volta che viene creata una nuova riga.

Quando crei un ciclo annidato, fai attenzione quando scegli il nome delle tue variabili contatore. Sebbene spesso i programmatori utilizzino un contatore i generico, l'utilizzo di contatori generici crea confusione quando interagiscono più cicli.

 for(int lineCounter = 1; lineCounter < 4; lineCounter++){
for(int starCounter = 1; starCounter <= lineCounter; starCounter++){
System.out.print("*");
}
System.out.print("n");
}

Eseguiamo questo esempio per capire meglio come funziona. Il nostro primo ciclo sta contando quante linee facciamo. Dopo che il ciclo è stato eseguito tre volte, si fermerà. Il ciclo successivo è un po 'più complesso. Questo ciclo controlla quante stelle vengono stampate su ogni riga. Nel nostro modello, vogliamo lo stesso numero di stelle del numero di riga. La prima riga ha una stella, la seconda due e la terza tre. Quindi, vogliamo che quel ciclo stampi tante stelle quante sono il nostro attuale contatore di linee. Dopo che il nostro ciclo a stella è completato, il ciclo di linea crea una nuova linea stampando n , che è il comando per una nuova linea.

Cicli infiniti

Uno dei pericoli della codifica di qualsiasi tipo di ciclo è che puoi creare accidentalmente un ciclo infinito. Questi sono loop che non si fermano mai. Sebbene ci siano casi in cui è necessario un ciclo infinito, generalmente vengono creati per caso quando le condizioni del ciclo non sono pianificate con cura. In questi casi, il programma continuerà a funzionare fino a quando non ne forzerai la chiusura.

Per creare un ciclo infinito, puoi utilizzare la seguente sintassi:

 for(;;){
//code that never stops looping
}

Correlati: siti web e app che possono aiutare quando si impara la programmazione Java

Utilizzo di un ciclo For con un array

Un modo comune per utilizzare un ciclo for consiste nell'iterare su un array. Ad esempio, se vuoi stampare tutte le stringhe in un array, non puoi semplicemente dire

 System.out.print([array]);

Questo comando stampa le informazioni sull'array, non il contenuto dell'array. Per stampare il contenuto dell'array, è necessario stampare ogni singolo elemento dell'array. Questo richiederebbe molto tempo per il codice, ma potresti creare un ciclo for per passare attraverso ogni elemento.

 String[] words = {"Hello", " ", "World", "!"};

for(int i = 0; i < words.length; i ++){
System.out.print(words[i]);
}

Ricorda, le posizioni degli array iniziano da zero, non uno, quindi vogliamo che il nostro ciclo inizi da zero. Il nostro primo loop stamperà Hello , il secondo loop stamperà uno spazio e così via. Dopo il quarto ciclo, il nostro contatore verrà incrementato a quattro, che non è inferiore alla lunghezza dell'array, che è anche quattro. Questo fermerà il ciclo.

Produzione:

 Hello World!

Per ogni ciclo

Sebbene sia possibile utilizzare un ciclo for per iterare su un array, è più semplice utilizzare un ciclo for-each. Questi loop sono progettati specificamente per gli array. Un ciclo for each passerà attraverso ogni elemento in un array ed eseguirà il codice. I cicli For-each hanno una sintassi leggermente diversa. La parola chiave per viene ancora utilizzata, ma non viene specificata una condizione.

 for([dataType] [arrayElement] : [array]){
//code to be executed
}

Il nostro esempio precedente può essere riscritto come un ciclo for-each utilizzando questa sintassi:

 String[] words = {"Hello", " ", "World", "!"};

for(String word : words){
System.out.print(word);
}

Il ciclo viene avviato con la parola chiave for . Specifichiamo quindi che i dati nel nostro array sono stringhe. Successivamente, scegliamo un nome di variabile per fare riferimento agli elementi nell'array mentre iteriamo attraverso il ciclo. In questo caso, abbiamo usato la parola . Questo è seguito da due punti e dal nome dell'array che vogliamo iterare. Ora, all'interno del nostro ciclo, dobbiamo solo usare la parola variabile per fare riferimento a ciascun elemento dell'array.

Quando utilizzare un ciclo For

I cicli For sono ottimi strumenti che possono farti risparmiare un sacco di codice. Sono il miglior tipo di loop da usare quando sai esattamente quante volte vuoi che il tuo loop venga eseguito. È anche possibile aumentare la complessità dei cicli for annidandoli. I cicli for nidificati sono particolarmente utili quando si lavora con array multidimensionali. I cicli For sono facili da imparare e un'abilità importante per i principianti. Questa tecnica ti eviterà sicuramente di codificare codice ripetitivo non necessario.