Differenza Tra for e while
In C++ e Java, l’iterazione dichiarazioni, ciclo for, while e do-while, consentire il set di istruzioni per essere eseguita ripetutamente, finché 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.
Ci sono diversi’ per ‘ variazioni di loop in C++ sono impliciti per aumentare la sua applicabilità, potenza e 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 converge con il ciclo ‘for’. Al contrario, con while loop non possiamo usare molte varianti, che devono essere utilizzate con la sintassi standard.
Ci sono alcune importanti differenze tra i cicli for e while, che vengono spiegate ulteriormente con l’aiuto di un grafico di confronto.
Contenuto: per il Ciclo Vs Ciclo while
- tabella di Confronto di
- Definizione
- Differenze Chiave
- Conclusione
Confronto Grafico
Base per il Confronto | per | mentre |
---|---|---|
Dichiarazione | for(inizializzazione; condizione; iterazione){ //corpo del ciclo ‘for’ } |
while ( condizione) { istruzioni; // corpo del ciclo } |
Formato | Inizializzazione, controllo delle condizioni, istruzione iterazione sono scritti nella parte superiore del ciclo. | Solo l’inizializzazione e il controllo delle condizioni vengono eseguiti nella parte superiore del ciclo. |
Usa | Il ciclo ‘for’ usato solo quando conoscevamo già il numero di iterazioni. | Il ciclo ‘while’ utilizzato solo quando il numero di iterazione non è esattamente noto. |
Condizione | Se la condizione non viene inserita nel ciclo ‘for’, il ciclo itera infinite volte. | Se la condizione non viene inserita nel ciclo “while”, fornisce un errore di compilazione. |
Inizializzazione | Nel ciclo ‘for’ l’inizializzazione una volta eseguita non viene mai ripetuta. | In while loop se l’inizializzazione viene eseguita durante il controllo delle condizioni, l’inizializzazione viene eseguita ogni volta che il ciclo itera. |
Istruzione iterazione | In ‘for’ l’istruzione iterazione del ciclo è scritta in alto, quindi, viene eseguita solo dopo che tutte le istruzioni nel ciclo vengono 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 for loop. La prima forma è la forma “tradizionale “e la seconda è la forma” per-ogni”.
Sintassi
La forma generale dell’istruzione for loop tradizionale.
for (initialization; condition; iteration){//body of for loop}
- Inizializzazione: L’inizializzazione della variabile di controllo del ciclo di for loop viene eseguita una sola volta, durante la prima iterazione del ciclo. Qui, la variabile di controllo del ciclo viene inizializzata, a volte se la variabile del ciclo non viene nuovamente utilizzata 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 iterato.
- Incremento e iterazione: L’istruzione iterazione è 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 la condizione viene controllata. Se la condizione è soddisfatta, viene eseguito il corpo del ciclo, quindi viene eseguita l’istruzione di iterazione. Poi di nuovo, la condizione viene controllata per sapere se il ciclo itererà ulteriormente o terminerà.
In Java, l’istruzione di inizializzazione e l’istruzione di iterazione possono includere più di un’istruzione. Ogni istruzione è separata da altre 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 for migliorato. La forma generale del ciclo for-each è la seguente.
for(type iter_variable: collection) statement-block
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 collection. La forma for-each del ciclo for automatizza l’iterazione del ciclo dall’inizio alla fine dell’accesso ai valori in ordine sequenziale.
Esempio
Esistono vari tipi di raccolta utilizzati con for loop. Discutiamone 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; for( int c: array) { System.out.println( "value in c " + c); add = add+c; } System.out.println("additon of array elements is " +add); }}// outputvalue in c 10value in c 20value in c 30value in c 40value in c 50value in c 60additon of array elements is 210
Qui, ‘c’ è una variabile di iterazione; riceve i valori dall’array, uno alla volta, dall’indice più basso all’indice più alto nell’array. Qui, il ciclo itera fino a quando non vengono esaminati tutti gli elementi dell’array. È possibile terminare il ciclo in mezzo utilizzando “break”. Tuttavia, la modifica della variabile di iterazione non influisce sull’array, poiché è solo una variabile di sola lettura.
Definizione del ciclo while
Il ciclo while è il ciclo 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 ( condition) {statements; //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 è true e se l’espressione restituisce un valore zero, la condizione diventa false.
Se la condizione diventa vera, il ciclo si itera e se la condizione diventa falsa, il controllo passa alla riga successiva del codice immediatamente seguita dal ciclo. Le istruzioni o il ciclo del corpo possono essere un’istruzione vuota o una singola istruzione o un blocco di istruzioni.
Esempio
Discutiamo il funzionamento di un ciclo while. Nell’esempio seguente il codice verrà stampato da 1 a 10.
//example is in Java.public class Main{ public static void main (String args) { int n=0; while(n<10) { n++; System.out.println("n=" +n); } }}//outputn=1n=2n=3n=4n=5n=6n=7n=8n=9n=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 stampato, quindi il controllo torna alla condizione in un ciclo while, ora il valore di ‘n’ è 1 che soddisfa nuovamente la condizione e il corpo del ciclo viene eseguito di nuovo. 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 ciclo, ad esempio durante il controllo delle condizioni.
//for examplewhile((ch = getchar( ) ) != 'A'){System.out.println(" The input alphabet " +ch);}
Qui viene inizializzata la variabile di controllo ‘ch’ e la condizione del ciclo viene verificata nella parte superiore del ciclo.
Nota
Può essere un ciclo for o un ciclo while, se c’è una sola istruzione nel corpo del ciclo, le parentesi graffe non sono richieste in quella condizione.
Le differenze chiave tra ciclo for e while
- In ciclo for, inizializzazione, controllo delle condizioni e incremento o decremento della variabile di iterazione vengono eseguite esplicitamente solo nella sintassi di un ciclo. Come contro, nel ciclo while possiamo solo inizializzare e controllare le condizioni nella sintassi del ciclo.
- Quando siamo a conoscenza del numero di iterazioni che devono verificarsi in un’esecuzione di un ciclo, usiamo for loop. D’altra parte, se non siamo a conoscenza del numero di iterazione che deve verificarsi in un ciclo, allora usiamo while loop.
- Se non si riesce a mettere l’istruzione condizione in ciclo for, porterà a un’iterazione infinita di un ciclo. Al contrario, se non si riesce a inserire l’istruzione condizione nel ciclo while, si verificherà un errore di compilazione.
- L’istruzione di inizializzazione nella sintassi di for loop viene eseguita solo una volta all’inizio del ciclo. Al contrario, se il ciclo while trasporta l’istruzione di inizializzazione nella sua sintassi, l’istruzione di inizializzazione nel ciclo while verrà eseguita ogni volta che il ciclo itera.
- L’istruzione di iterazione nel ciclo for verrà eseguita dopo l’esecuzione del ciclo body for. Al contrario, l’istruzione di iterazione può essere scritta ovunque nel corpo del ciclo while, quindi possono esserci alcune istruzioni che vengono eseguite dopo l’esecuzione dell’istruzione di iterazione nel corpo del ciclo while.
Conclusione
Il ciclo for e il ciclo while sono entrambi istruzioni di iterazione, ma entrambi hanno la loro caratteristica distinta. Il ciclo for ha tutta la sua dichiarazione (inizializzazione, condizione, iterazione) nella parte superiore del corpo del ciclo. Negativamente, nel ciclo while solo l’inizializzazione e la condizione si trovano nella parte superiore del corpo del ciclo e l’iterazione può essere scritta ovunque nel corpo del ciclo.