Differenza tra for e while loop

Autore: Laura McKinney
Data Della Creazione: 2 Aprile 2021
Data Di Aggiornamento: 5 Maggio 2024
Anonim
JavaScript - 14. while loop and the difference from for loop
Video: JavaScript - 14. while loop and the difference from for loop

Contenuto


In C ++ e Java, le istruzioni di iterazione, per loop, while loop e do-while loop, consentono di eseguire ripetutamente l'insieme di istruzioni, fino a quando la condizione è vera e termina non appena la condizione diventa falsa. Le condizioni nelle istruzioni di iterazione possono essere predefinite come in for loop o open-ended come in while loop.

Esistono diverse variazioni del ciclo "for" in C ++ per aumentarne l'applicabilità, la potenza e la flessibilità. Ad esempio, il ciclo for ci consente di utilizzare più di una variabile all'interno del ciclo per controllarlo e l'uso della funzione di convergenza con il ciclo "for". Al contrario, con while loop non possiamo usare molte varianti, che devono essere usate con la sintassi standard.

Ci sono alcune differenze importanti tra i cicli for e while, che sono ulteriormente spiegate con l'aiuto di una tabella comparativa.

  1. Tabella di comparazione
  2. Definizione
  3. Differenze chiave
  4. Conclusione

Tabella di comparazione

Base per il confrontoper mentre
Dichiarazioneper (inizializzazione; condizione; iterazione) {
// body di for loop
}
while (condizione) {
dichiarazioni; // corpo del loop
}
FormatoInizializzazione, controllo delle condizioni, istruzione di iterazione sono scritte all'inizio del ciclo.Nella parte superiore del ciclo viene eseguita solo l'inizializzazione e il controllo delle condizioni.
UsoIl ciclo for usato solo quando conoscevamo già il numero di iterazioni.Il ciclo while utilizzato solo quando il numero di iterazioni non è esattamente noto.
CondizioneSe la condizione non viene inserita per il ciclo, il ciclo ripeterà infinite volte.Se la condizione non viene inserita nel ciclo while, fornisce un errore di compilazione.
InizializzazioneIn for loop l'inizializzazione una volta eseguita non viene mai ripetuta.Nel ciclo while se l'inizializzazione viene eseguita durante il controllo delle condizioni, l'inizializzazione viene eseguita ogni volta che il ciclo viene ripetuto.
Dichiarazione di iterazioneIn for loop l'istruzione di iterazione è scritta in alto, quindi, viene eseguita solo dopo che tutte le istruzioni in loop sono state eseguite.Nel ciclo while, l'istruzione di iterazione può essere scritta in qualsiasi punto del ciclo.


Definizione di for loop

In Java, ci sono due forme di per loop. La prima forma è la forma "tradizionale" e la seconda è la forma "per ciascuno".

Sintassi

La forma generale di istruzione tradizionale per loop.

for (inizializzazione; condizione; iterazione) {// body of for loop}

  • Inizializzazione - L'inizializzazione della variabile di controllo del loop di for loop viene eseguita una sola volta, durante la prima iterazione del loop. Qui, la variabile di controllo del ciclo viene inizializzata, a volte se la variabile del ciclo non viene riutilizzata in nessun punto del programma e viene utilizzata solo come variabile di controllo del ciclo, viene dichiarata e inizializzata nel ciclo "for".
  • Condizione - La condizione del ciclo "for" viene eseguita ogni volta che il ciclo viene ripetuto.
  • Incremento e iterazione- L'istruzione iteration è un'espressione che incrementa o diminuisce la variabile di controllo del ciclo.

Ogni volta che il ciclo viene eseguito, la sua condizione di inizializzazione viene eseguita per prima; quindi viene verificata la condizione. Se la condizione è soddisfatta, viene eseguito il corpo del ciclo, quindi viene eseguita l'istruzione iterazione. Quindi, viene verificata la condizione per sapere se il ciclo ripeterà o terminerà.


In Java, l'istruzione di inizializzazione e l'istruzione di iterazione possono includere più di un'istruzione. Ogni istruzione è separata da un'altra da una virgola, in Java, una virgola è un separatore mentre, in C ++, "virgola" è un operatore che può essere utilizzato in qualsiasi espressione valida.

per ogni ciclo e la sua sintassi

Il modulo "per ogni" è un ciclo avanzato per. La forma generale del ciclo for-each è la seguente.

per il blocco di istruzioni (type iter_variable: collection)

Qui, il "tipo" specifica il tipo di variabile di iterazione, seguito dalla variabile di iterazione. La variabile di iterazione riceverà l'elemento dalla variabile di raccolta. Il tipo deve essere uguale al tipo di elementi memorizzati nella variabile di raccolta. La forma for-each di for loop automatizza l'iterazione del loop dall'inizio alla fine accedendo ai valori in ordine sequenziale.

Esempio

Esistono vari tipi di raccolte utilizzate con for loop. Discutiamolo con un array come una raccolta.

public class Main {public static void main (String args) {int array = {10, 20, 30, 40, 50, 60}; int add = 0; per (int c: array) {System.out.ln ("valore in c" + c); add = add + c; } System.out.ln ("additon of array elements is" + add); }} // valore di output in c 10 valore in c 20 valore in c 30 valore in c 40 valore in c 50 valore in c 60 additon degli elementi dell'array è 210

Qui "c" è una variabile di iterazione; riceve i valori dall'array, uno alla volta, dall'indice più basso all'indice più alto dell'array. Qui, il ciclo scorre fino a quando non vengono esaminati tutti gli elementi dell'array. È possibile terminare il loop in mezzo usando "break". Tuttavia, la modifica della variabile di iterazione non influisce sull'array, poiché è solo una variabile di sola lettura.

Definizione di while loop

Il mentre loop è il loop più fondamentale disponibile in C ++ e Java. Il funzionamento di un ciclo while è simile sia in C ++ che in Java.

Sintassi

La dichiarazione di un ciclo while è la seguente

while (condizione) {istruzioni; // body of loop}

Il ciclo while inizialmente controlla la condizione e quindi esegue le istruzioni fino a quando la condizione nel ciclo while risulta essere vera. La condizione nel ciclo while può essere qualsiasi espressione booleana. Quando un'espressione restituisce un valore diverso da zero, la condizione è vera e se l'espressione restituisce un valore zero, la condizione diventa falsa.

Se la condizione diventa vera, quindi il ciclo si ripete da sé e se la condizione diventa falsa, il controllo passa alla riga successiva del codice immediatamente seguito dal ciclo. Le istruzioni o il loop del corpo possono essere un'istruzione vuota o una singola istruzione o un blocco di istruzioni.

Esempio

Parliamo del funzionamento di un ciclo while. Nell'esempio seguente il codice sarà compreso tra 1 e 10.

// esempio è in Java. public class Main {public static void main (String args) {int n = 0; while (n <10) {n ++; System.out.ln ("n =" + n); }}} // output n = 1 n = 2 n = 3 n = 4 n = 5 n = 6 n = 7 n = 8 n = 9 n = 10

Qui, il valore iniziale di "n" è 0, il che rende vera la condizione nel ciclo while. Il controllo entra quindi nel corpo del ciclo while e il valore di "n" viene incrementato in base alla prima istruzione nel corpo di un ciclo while. Il valore di "n" viene modificato, quindi il controllo ritorna alla condizione in un ciclo while, ora il valore di "n" è 1 che soddisfa nuovamente la condizione e il corpo del ciclo viene eseguito nuovamente. Questo continua fino a quando la condizione è vera, non appena la condizione diventa falsa, il ciclo viene terminato.

Come il ciclo "for", il ciclo "while" può anche inizializzare la variabile di controllo nella parte superiore del loop, ad esempio durante il controllo delle condizioni.

// per esempio while ((ch = getchar ())! = A) {System.out.ln ("L'alfabeto di input" + ch); }

Qui la variabile di controllo "ch" viene inizializzata e la condizione del loop viene verificata nella parte superiore del loop.

Nota:

Che si tratti di un ciclo for o di un ciclo while, se nel corpo del ciclo è presente solo un'istruzione, le parentesi graffe non sono necessarie in quella condizione.

  1. Nel per il ciclo, l'inizializzazione, il controllo delle condizioni e l'incremento o il decremento della variabile di iterazione vengono eseguiti esplicitamente solo nella sintassi di un ciclo. Contro, nel mentre loop possiamo solo inizializzare e verificare le condizioni nella sintassi del loop.
  2. Quando siamo a conoscenza del numero di iterazioni che devono verificarsi in un'esecuzione di un ciclo, allora usiamo per ciclo continuo. D'altra parte, se non siamo a conoscenza del numero di iterazioni che devono verificarsi in un ciclo, allora usiamo mentre ciclo continuo.
  3. Se non riesci a inserire la dichiarazione condizione per loop, porterà a un'iterazione infinita di un loop. Al contrario, se non si riesce a inserire l'istruzione condition in mentre loop porterà a un errore di compilazione.
  4. La dichiarazione di inizializzazione nella sintassi di per il ciclo viene eseguito solo una volta all'inizio del ciclo. Al contrario, se mentre loop sta portando l'istruzione di inizializzazione nella sua sintassi, quindi l'istruzione di inizializzazione nel ciclo while verrà eseguita ogni volta che il ciclo viene ripetuto.
  5. La dichiarazione di iterazione in per il ciclo verrà eseguito dopo l'esecuzione del corpo per il ciclo. Al contrario, la dichiarazione di iterazione può essere scritta in qualsiasi parte del corpo di mentre loop in tal modo, possono esserci alcune istruzioni che vengono eseguite dopo l'esecuzione dell'istruzione iteration nel corpo del ciclo while.

Conclusione:

Il ciclo for e il ciclo while sono entrambi dichiarazione di iterazione, ma entrambi hanno la loro caratteristica distinta. Il ciclo for ha tutte le sue dichiarazioni (inizializzazione, condizione, iterazione) nella parte superiore del corpo del ciclo. Inversamente, in while loop solo l'inizializzazione e la condizione sono nella parte superiore del corpo del ciclo e l'iterazione può essere scritta in qualsiasi punto del corpo del ciclo.