Différence entre les boucles for et while

Auteur: Laura McKinney
Date De Création: 2 Avril 2021
Date De Mise À Jour: 10 Peut 2024
Anonim
Différence entre les boucles for et while - La Technologie
Différence entre les boucles for et while - La Technologie

Contenu


En C ++ et Java, les instructions d'itération, boucle, boucle while et boucle do-while, autorisent l'exécution répétée du jeu d'instructions jusqu'à ce que la condition soit vraie et se termine dès qu'elle devient fausse. Les conditions dans les instructions d'itération peuvent être prédéfinies comme dans une boucle for ou ouvertes comme dans une boucle while.

Il existe plusieurs variantes de boucle «for» en C ++ qui sont supposées augmenter son applicabilité, sa puissance et sa flexibilité. Par exemple, la boucle for nous permet d’utiliser plusieurs variables à l’intérieur de la boucle afin de la contrôler, ainsi que l’utilisation de la fonction de convergence 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.


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

Tableau de comparaison

Base de comparaisonpour tandis que
Déclarationpour (initialisation; condition; itération) {
// corps de la boucle for
}
while (condition) {
les déclarations; // corps de boucle
}
FormatL'initialisation, la vérification des conditions et les instructions 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.
UtilisationLa boucle for n'est utilisée que lorsque nous connaissions déjà le nombre d'itérations.La boucle while n'est utilisée que lorsque le nombre d'itérations n'est pas connu avec précision.
ÉtatSi la condition n'est pas définie dans la boucle for, celle-ci itère des temps infinis.Si la condition n'est pas mise en boucle while, la compilation est erronée.
InitialisationDans 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 lors de la vérification des conditions, cette initialisation est effectuée à chaque fois que la boucle est itérée.
Déclaration d'itérationL'instruction it for de boucle étant écrite en haut, elle ne s'exécute qu'après l'exécution de toutes les instructions en boucle.Dans la boucle while, l'instruction d'itération peut être écrite n'importe où dans la boucle.


Définition de boucle

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

Syntaxe

La forme générale du traditionnel pour l'instruction de boucle.

for (initialisation; condition; itération) {// corps de la boucle for}

  • Initialisation - L'initialisation de la variable de contrôle de boucle de boucle 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 pas réutilisée ailleurs 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’.
  • État - La condition de la boucle "for" est exécutée chaque fois que la boucle est itérée.
  • Incrément et itération- L'instruction 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 d'abord exécutée; alors 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 itérera davantage ou se terminera.

En Java, l'instruction d'initialisation et l'instruction d'itération peuvent inclure plusieurs instructions. Chaque instruction est séparée par une virgule. En Java, une virgule est un séparateur, tandis qu'en C ++, «virgule» est un opérateur utilisable dans toute 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 identique au type des éléments stockés dans la variable de collection. La forme for-each de for boucle 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 for loop. Discutons-en avec un tableau en tant que collection.

public class Main {public statique void main (String args) {int array = {10, 20, 30, 40, 50, 60}; int add = 0; for (int c: array) {System.out.ln ("valeur en c" + c); add = add + c; } System.out.ln ("l'addition d'éléments de tableau est" + add); }} // valeur de sortie en c 10 valeur en c 20 valeur en c 30 valeur en c 40 valeur en c 50 valeur en c 60 l'addition d'éléments de tableau vaut 210

Ici, c est une variable d’itération; il reçoit les valeurs du tableau, une à la fois, du plus bas index au plus haut 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

le tandis que loop 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) {déclarations; // corps de la boucle}

La boucle while vérifie d'abord la condition, puis exécute les instructions jusqu'à ce que la condition de la boucle while soit vraie. La condition dans la boucle while peut être toute expression booléenne. Lorsqu'une expression renvoie une valeur autre que zéro, la condition est vraie et si l'expression renvoie une valeur zéro, la condition devient fausse.

Si la condition devient vraie, alors 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, soit un bloc d'instructions.

Exemple

Discutons du fonctionnement d’une boucle while. Dans l'exemple ci-dessous, le code sera compris entre 1 et 10.

// exemple est en Java. public class Main {public static void main (Arguments de chaîne) {int n = 0; tandis que (n <10) {n ++; System.out.ln ("n =" + n); }}} // sortie n = 1 n = 2 n = 3 n = 4 n = 5 n = 6 n = 7 n = 8 n = 9 n = 10

Ici, la valeur initiale de ‘n’ est 0, ce qui rend la condition dans boucle while vraie. La commande entre ensuite dans le corps de la boucle while et la valeur de «n» est incrémentée conformément à la première instruction dans le corps d’une boucle while. La valeur de "n" est ed, puis la commande retourne à la condition dans une boucle while, la valeur de "n" est maintenant égale à 1, ce 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 pour la boucle «for», la boucle «while» peut également initialiser la variable de contrôle en haut de la boucle, c’est-à-dire pendant la vérification des conditions.

// par exemple while ((ch = getchar ())! = A) {System.out.ln ("L'alphabet de saisie" + ch); }

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

Remarque:

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

  1. Dans pour boucle, initialisation, vérification de condition, et incrémentation ou décrémentation de la variable d’itération est faite explicitement dans la syntaxe d’une boucle uniquement. Par contre, dans le tandis que boucle, nous ne pouvons qu'initialiser et vérifier la condition dans la syntaxe de la boucle.
  2. Lorsque nous sommes conscients du nombre d'itérations à exécuter lors de l'exécution d'une boucle, nous utilisons pour boucle. D'autre part, si nous ne connaissons pas le nombre d'itérations à effectuer dans une boucle, nous utilisons tandis que boucle.
  3. Si vous ne parvenez pas à mettre une condition dans pour boucle, cela conduira à une itération infinie d'une boucle. En revanche, si vous ne parvenez pas à mettre une condition dans la tandis que En boucle, cela entraînera une erreur de compilation.
  4. L'instruction d'initialisation dans la syntaxe de pour La boucle ne s’exécute qu’une fois au début de la boucle. Inversement, si tandis que Si la boucle contient une instruction d'initialisation dans sa syntaxe, l'instruction d'initialisation de la boucle while sera exécutée à chaque fois qu'elle sera itérée.
  5. La déclaration d'itération dans le pour La boucle sera exécutée après l'exécution du corps de la boucle. Au contraire, la déclaration d'itération peut être écrite n'importe où dans le corps de tandis que Ainsi, certaines instructions peuvent être exécutées après l'exécution d'une instruction d'itération dans le corps de la boucle while.

Conclusion:

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