Différence Entre for et while loop

 for et while loop En C++ et Java, les instructions d’itération, for loop, while loop et do-while loop, permettent d’exécuter l’ensemble d’instructions à plusieurs reprises, jusqu’à ce que la condition soit vraie et se termine dès que la condition devient fausse. Les conditions dans les instructions d’itération peuvent être prédéfinies comme dans la boucle for ou ouvertes comme dans la boucle while.

Il existe plusieurs variations de boucle « for » en C ++ pour augmenter son applicabilité, sa puissance et sa flexibilité. Par exemple, la boucle for nous permet d’utiliser plus d’une variable à l’intérieur de la boucle afin de la contrôler, et l’utilisation de la fonction converge avec la boucle ‘for’. Inversement, avec la boucle while, nous ne pouvons pas utiliser beaucoup de variations, qui doivent être utilisées avec la syntaxe standard.

Il existe des différences majeures entre les boucles for et while, qui sont expliquées plus en détail à l’aide d’un tableau de comparaison.

Contenu: pour Boucle Vs Boucle while

  1. Tableau de comparaison
  2. Définition
  3. Différences clés
  4. Conclusion

Tableau de comparaison

Base de comparaison pour alors que
Déclaration for(initialisation; condition; itération) {
// corps de la boucle ‘for’
}
instructions while(condition) {
; // corps de boucle
}
Format L’initialisation, la vérification de condition, l’instruction d’itération sont écrites en haut de la boucle. Seule l’initialisation et la vérification des conditions sont effectuées en haut de la boucle.
Utilisez La boucle ‘for’ utilisée uniquement lorsque nous connaissions déjà le nombre d’itérations. La boucle ‘while’ utilisée uniquement lorsque le nombre d’itérations n’est pas exactement connu.
Condition Si la condition n’est pas mise en boucle ‘for’, la boucle itère des temps infinis. Si la condition n’est pas mise en place dans la boucle ‘while’, elle fournit une erreur de compilation.
Initialisation Dans la boucle ‘for’, l’initialisation une fois effectuée n’est jamais répétée. Dans la boucle while si l’initialisation est effectuée pendant la vérification des conditions, l’initialisation est effectuée à chaque itération de la boucle.
L’instruction d’itération Dans l’instruction d’itération de boucle ‘for’ est écrite en haut, elle ne s’exécute donc qu’après l’exécution de toutes les instructions de la boucle. Dans la boucle ‘while’, l’instruction d’itération peut être écrite n’importe où dans la boucle.

Définition de la boucle for

En Java, il existe deux formes de boucles for. La première forme est la forme « traditionnelle » et la seconde est la forme « pour chaque ».

Syntaxe

La forme générale de l’instruction for loop traditionnelle.

for (initialization; condition; iteration){//body of for loop}
  • Initialisation : L’initialisation de la variable de contrôle de boucle de for loop n’est exécutée qu’une seule fois, lors de la première itération de la boucle. Ici, la variable de contrôle de boucle est initialisée, parfois si la variable de boucle n’est utilisée à nouveau nulle part dans le programme et n’est utilisée que comme variable de contrôle de la boucle, elle est à la fois déclarée et initialisée dans la boucle ‘for’.
  • Condition : La condition de la boucle ‘for’ est exécutée chaque fois que la boucle est itérée.
  • Incrémentation et itération : L’instruction d’itération est une expression qui incrémente ou décrémente la variable de contrôle de boucle.

Chaque fois que la boucle est exécutée, sa condition d’initialisation est exécutée en premier; ensuite, la condition est vérifiée. Si la condition est satisfaite, le corps de la boucle est exécuté, puis l’instruction d’itération est exécutée. Là encore, la condition est vérifiée pour savoir si la boucle va itérer davantage ou se terminer.

En Java, l’instruction d’initialisation et l’instruction d’itération peuvent inclure plusieurs instructions. Chaque instruction est séparée par une autre par une virgule, en Java, une virgule est un séparateur alors qu’en C++, « virgule » est un opérateur qui peut être utilisé dans n’importe quelle expression valide.

pour chaque boucle et sa syntaxe

La forme « pour chaque » est une boucle for améliorée. La forme générale de la boucle for-each est la suivante.

for(type iter_variable: collection) statement-block

Ici, le « type » spécifie le type de variable d’itération, suivi de la variable d’itération. La variable d’itération recevra l’élément de la variable de collection. Le type doit être le même que le type d’éléments stockés dans la variable de collection. La forme for-each de boucle for automatise l’itération de la boucle du début à la fin en accédant aux valeurs dans un ordre séquentiel.

Exemple

Il existe différents types de collection utilisés avec la boucle for. Discutons-en avec un tableau en tant que collection.

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

Ici, ‘c’ est une variable d’itération; il reçoit les valeurs du tableau, une à la fois, de l’index le plus bas à l’index le plus élevé du tableau. Ici, la boucle itère jusqu’à ce que tous les éléments du tableau soient examinés. Il est possible de terminer la boucle entre les deux en utilisant « break ». Cependant, la modification de la variable d’itération n’affecte pas le tableau, car il ne s’agit que d’une variable en lecture seule.

Définition de la boucle while

La boucle while est la boucle la plus fondamentale disponible en C++ et Java. Le fonctionnement d’une boucle while est similaire en C ++ et en Java.

Syntaxe

La déclaration d’une boucle while est la suivante

while ( condition) {statements; //body of loop}

La boucle while vérifie initialement la condition, puis exécute les instructions jusqu’à ce que la condition dans la boucle while s’avère vraie. La condition dans la boucle while peut être n’importe quelle expression booléenne. Lorsqu’une expression renvoie une valeur non nulle, la condition est true et si l’expression renvoie une valeur nulle, la condition devient false.

Si la condition devient vraie, la boucle se répète et si la condition devient fausse, le contrôle passe à la ligne suivante du code immédiatement suivie de la boucle. Les instructions ou la boucle de corps peuvent être soit une instruction vide, soit une instruction unique ou un bloc d’instructions.

Exemple

Discutons du fonctionnement d’une boucle while. Dans l’exemple ci-dessous, le code s’imprimera de 1 à 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

Ici, la valeur initiale de ‘n’ est 0, ce qui rend la condition dans la boucle while vraie. Le contrôle entre alors dans le corps de la boucle while et la valeur de ‘n’ est incrémentée selon la première instruction dans le corps d’une boucle while.

La valeur de ‘n’ est imprimée, puis le contrôle revient à la condition dans une boucle while, maintenant la valeur de ‘n’ est 1 qui satisfait à nouveau la condition, et le corps de la boucle est à nouveau exécuté. Cela continue jusqu’à ce que la condition soit vraie, dès que la condition devient fausse, la boucle est terminée.

Comme la boucle ‘for’, la boucle ‘while’ peut également initialiser la variable de contrôle en haut de la boucle, c’est-à-dire lors de la vérification des conditions.

//for examplewhile((ch = getchar( ) ) != 'A'){System.out.println(" The input alphabet " +ch);}

Ici, la variable de contrôle ‘ch’ est initialisée et l’état de la boucle est vérifié en haut de la boucle.

Note

Qu’il s’agisse d’une boucle for ou d’une boucle while, s’il n’y a qu’une seule instruction dans le corps de la boucle, les accolades ne sont pas nécessaires dans cette condition.

Différences clés Entre les boucles for et while

  1. Dans la boucle for, l’initialisation, la vérification des conditions et l’incrémentation ou la décrémentation de la variable d’itération se font explicitement dans la syntaxe d’une boucle uniquement. Par contre, dans la boucle while, nous ne pouvons initialiser et vérifier que la condition dans la syntaxe de la boucle.
  2. Lorsque nous sommes conscients du nombre d’itérations qui doivent se produire dans une exécution d’une boucle, nous utilisons for loop. D’un autre côté, si nous ne sommes pas conscients du nombre d’itérations qui doivent se produire dans une boucle, nous utilisons alors la boucle while.
  3. Si vous ne parvenez pas à mettre l’instruction de condition dans la boucle for, cela conduira à une itération infinie d’une boucle. En revanche, si vous ne parvenez pas à mettre l’instruction de condition dans la boucle while, cela entraînera une erreur de compilation.
  4. L’instruction d’initialisation dans la syntaxe de la boucle for ne s’exécute qu’une seule fois au début de la boucle. Inversement, si la boucle while porte une instruction d’initialisation dans sa syntaxe, l’instruction d’initialisation dans la boucle while s’exécutera chaque fois que la boucle itérera.
  5. L’instruction d’itération dans la boucle for s’exécutera après l’exécution de la boucle body for. Au contraire, l’instruction d’itération peut être écrite n’importe où dans le corps de la boucle while, il peut donc y avoir des instructions qui s’exécutent après l’exécution de l’instruction d’itération dans le corps de la boucle while.

Conclusion

La boucle for et la boucle while sont toutes deux des instructions d’itération, mais elles ont toutes deux leur caractéristique distincte. La boucle for a toute sa déclaration (initialisation, condition, itération) en haut du corps de la boucle. En revanche, dans la boucle while, seule l’initialisation et la condition sont en haut du corps de la boucle et l’itération peut être écrite n’importe où dans le corps de la boucle.