J'apprends Java aussi bien Android. Presque tout ce que nous pouvons jouer en boucle ces choses que nous pouvons faire en boucle.
J'ai trouvé une condition simple où l'utilisation de la boucle est meilleure que pour la boucle p>
Si je dois utiliser la valeur du compteur dans mon programme, je pense que la boucle est meilleure que pour la boucle p>
Dans ce cas, j'ai trouvé pendant que la boucle est meilleure que pour la boucle car si je veux obtenir la même chose pour boucle que je dois attribuer la valeur du compteur à une autre variable. p>
14 Réponses :
Pour est fini, dans le sens où il finira de boucler lorsqu'il est à court d'éléments à boucle .... p>
Bien que peut être infini si une condition n'est pas remplie ou la boucle cassée p>
Mon erreur ... pour code> peut em> être infini .. p>
pour peut être infini: pour (;;) code>
pour peut être infini aussi: pour (i = 1; i == i - 1; i ++) {...} code>
Utilisation de pour code> si vous souhaitez toucher tous les éléments d'une collection et
pendant code> si vous voulez casser tôt est assez sensible.
@ K4EMIC: Vous pouvez sortir d'un pour code> boucle de la même manière que vous sortiriez d'un
pendant code> boucle. Il n'y a pas de différence.
@Chris bien sûr, ai-je écrit quelque chose qui a indiqué que vous ne pouviez pas? J'ai simplement indiqué ce que je considère comme une façon raisonnable de différencier de quelle manière de boucler à travers des collections.
Mais les deux peuvent être infinis si vous ne rompez pas non plus en rencontrant une condition ou en sautant.
Ils font la même chose .... Le seul diff est que pour code> peut rendre votre code plus court la plupart des temps, mais vous pouvez archiver la même chose avec les deux. Vous pouvez utiliser ce qui convient le mieux à votre situation.
A pour peut se comporter comme tandis que: p> et tout moment peut se comporter comme pour: p> dans votre CAS, oui, vous pouvez le ré-écrire comme une boucle comme celle-ci: p> pour code> La boucle est juste un type spécial de la boucle tandis que, qui arrive à incrémenter une variable. Vous pouvez imiter un
pour code> en boucle avec un
pendant code> en boucle dans n'importe quelle langue. C'est juste le sucre syntaxique (sauf python où
pour code> est en fait
foreach code>). Donc, non, il n'y a pas de situation spécifique où l'un est meilleur que l'autre (bien que pour les raisons de lisibilité, vous devriez préférer un
pour code> en boucle lorsque vous faites de simples boucles incrémentielles, car la plupart des gens peuvent facilement dire ce qui se passe facilement ).
En fait, le compteur var n'est pas accessible à l'extérieur du pour (sauf si vous ne le déclarez pas en dehors de sa performance)
tandis que code> et
pour code> ne sont pas exactement les mêmes lors de l'utilisation de l'incrément - si vous devez également utiliser
continuer code>. Avec le
tandis que code> la variable n'augmentera pas (sans effort supplémentaire), mais avec
pour code> ça va.
La boucle tandis que la boucle est généralement meilleure lorsque vous n'avez pas d'itérateur (comptoir habituellement). P>
Une différence principale est pendant que code> Les boucles sont mieux adaptées lorsque vous ne savez pas d'avance sur le nombre d'itérations que vous devez faire. Lorsque vous le savez avant d'entrer dans la boucle, vous pouvez utiliser
pour code> boucle. P>
Pouvez-vous donner un exemple à votre réponse?
Typiquement, lors de la lecture d'un fichier ligne-ligne à partir d'un tampon, vous utiliseriez une boucle tandis que la boucle (comme vous ne savez pas lorsque le marqueur de fin de fichier apparaîtra)
Une chose que je pense que je devrais signaler, c'est que lorsque vous utilisez A pour boucle, vous n'avez pas besoin d'attribuer à une autre variable. Par exemple, Quant à votre question, A pour la boucle est généralement meilleur lorsque vous souhaitez qu'un morceau de code fonctionne un certain nombre de fois, et une boucle tandis que la boucle est meilleure lorsque la condition du code à continuer est plus générale, telle que Avoir un drapeau booléen qui n'est défini que pour true quand une certaine condition est remplie dans le bloc de code. P> pour (compteur = 0; compteur <10; compteur ++) code> est valide code Java. P>
Vous pouvez faire quelque chose comme: Tout ce qu'une boucle de temps peut faire, peut également être effectuée dans une boucle à boucle et tout ce qu'une boucle de boucle peut faire, peut aussi être fait dans une boucle de temps. p> p>
non. Il n'y a pas une situation spécifique où pour code> est meilleur que
pendant code>.
Ils font la même chose.
C'est à vous de choisir de choisir lors de l'appliquer l'un de ceux-ci. P>
N'oubliez pas,
Tout fait avec A pour une boucle peut être fait avec une boucle de temps, mais pas Toutes les boucles peuvent être implémentées avec une boucle pour la boucle. P> blockQuote>
tandis que: strong> p>
tandis que des boucles code> sont utilisés lorsque la condition de sortie n'a rien à voir avec le nombre de boucles ou une variable de contrôle em> p>
pour: strong> p>
for-boucles code> sont juste une courte Coupe de manière coupée pour écrire une boucle tandis que lors d'une déclaration d'initialisation, déclaration de contrôle (quand arrêter) et une instruction d'itération (que faire avec le facteur de contrôle après chaque itération). EM> P> P> Par exemple, p>
Fondamentalement pour les boucles ne sont que de courte main pendant que des boucles, tout pour la boucle peut être converti de: p>
xxx pré> et p>
[initialize]; while([control statement]) { //Do something [iteration]; }
Omettez l'initialisation et l'itération, le pour code> boucle agira exactement comme un
pendant code> boucle
Vous pouvez transformer ce p> à ceci: p> l'autre moyen: p> est équivalent à Ceci: P> pour code> et
pendant que code> est équivalent, juste une syntaxe différente pour la même chose.
init;
while(condition) {
statement;
update;
}
pendant que code> Les boucles sont beaucoup plus flexibles, tandis que
pour code> Les boucles sont beaucoup plus lisibles, si c'est ce que vous demandez. Si vous vous demandez lequel est plus vite em>, regardez cette expérience que j'ai menée concernant la vitesse de
pour code> et
pendant p> p>
pendant que code> Les boucles sont plus rapides. p>
int counter = 0; while (counter < 10) { //do some task if(some condition){ break; } counter++; } useTheCounter(counter); // method which use that value of counter do some other task
Utilisez A pour la boucle lorsque vous connaissez le nombre de fois que vous souhaitez boucler. Le terme technique pour cela est le nombre d'itérations. Comment connaissez-vous le nombre d'itérations? Vous connaissez le début, l'arrêt et l'étape. Si vous connaissez ces trois informations, vous devez utiliser une boucle car c'est le bon outil pour le travail.
Utilisez une boucle DO lorsque vous ne connaissez pas le nombre d'itérations. Si vous ne connaissez pas le démarrage, arrêtez-vous, étape ou une combinaison de ceux-ci, vous devez utiliser une boucle de faire. L'expression sera évaluée au sommet de la boucle.
Utilisez une boucle à faire si vous voulez boucler au moins une fois. Utilisez juste une boucle de temps si vous ne voulez pas boucler au moins une fois. L'expression sera évaluée au bas de la boucle. P>
Qu'est-ce que vous pouvez écrire pour la boucle peut être converti en boucle. Les avantages de l'utilisation de la boucle sont p>
Vous pouvez obtenir la même chose en boucle également. Mais tout ce que vous pouvez faire en boucle n'est pas possible de faire en boucle. Par exemple, si vous avez plus d'un compteur et que vous voulez que l'un d'entre eux augmente en fonction d'une condition, alors que vous ne pouvez utiliser que. En boucle à la fin de la boucle, le compteur augmente automatiquement. p>
meilleure utilisation p>
Pour la matrice ou le tableau unique Traversal directionnel unique, car la boucle est bonne En cas de multiples conditions et de plusieurs compteurs, alors que la boucle est bonne. Si Yuo veut traverser un tableau des deux côtés en fonction de différentes conditions, alors que la boucle est bonne. p>
En boucle, il y a beaucoup plus de chances d'oublier le compteur d'incrément et finit par une boucle infinie, tandis que dans la syntaxe de boucle vous aidera à définir facilement le comptoir. p>
Pour les boucles incluent la notion de comptage, ce qui est génial. Pourtant, lorsque vous ne savez pas combien de fois le code devrait courir, tandis que les boucles ont un sens. P>
Je voudrais juste faire
userethecounter (10) code>