Vous vous entendez bien avec la phrase «pour»? J'étais dans un combat jusqu'à hier. Je ne savais pas à quoi pensait la phrase «pour», qui courait sans cesse, se répétait sans cesse. Cependant, lorsque j'essayais de résoudre la question JAVA qui a attiré mon attention par essais et erreurs, un rayon de lumière est entré et la phrase `` pour '' a dit:
"Soyons amis".
Tout d'abord, passons en revue les bases de l'instruction for
. L'instruction for
se compose de quatre parties: initialisation, condition, modification et contenu d'exécution </ b>.
for (Initialisation;conditions;changement) {
Contenu d'exécution
}
for
est lancée, elle n'est exécutée qu'une seule fois au début </ b>. N'oubliez pas de déclarer le type de la variablefor (int i = 0; i < 10; i++) {
System.out.println("Hello!");
}
int
i = 0
i < 10
est inférieur à
10`, c'est "vrai". En d'autres termes, le contenu de l'exécution est répété jusqu'à ce que «i» soit «9».i++
System.out.println("Hello!")
Voyons cela sur la base de la démonstration. L'initialisation est la première chose qui fonctionne lorsque l'instruction for
est lancée. La valeur de la variable «i» est «0». L'instruction «for» confirme que «i» est «0» avant de passer à la condition. La condition est ʻi <10`. À ce stade, c'est la même chose que «0 <10». Une fois traduit en japonais, on peut dire que "0 est inférieur à 10", la condition est donc "true". Puisqu'il a été confirmé que la condition est «vraie», la partie du contenu d'exécution se déplace.
Lorsque System.out.println (" Hello! ")
Est exécuté, l'étape suivante est le changement. Le changement est ʻi ++ `. À ce stade, c'est «0 ++», donc c'est «1». Ce «1» se déplace vers la condition à affecter à la variable d'exécution. À ce stade, il est de «1 <10». C'est "vrai". C'est pourquoi je reviendrai sur le contenu de l'exécution.
Si ce flux continue plusieurs fois, la condition sera "10 <10". Est-ce "vrai"? Est-ce «faux»? C'est "faux". Ceci conclut la déclaration «for». Je vous remercie pour votre travail acharné.
Le flux est répertorié ci-dessous.
for
Maintenant que nous avons les bases de l'instruction for
, l'étape suivante est l'imbrication. Je pensais avoir compris d'une manière ou d'une autre l'imbrication des déclarations «for», mais quand je l'ai écrite, je ne comprenais pas comment les instructions supérieures «for» et inférieures «for» étaient entrelacées. fait.
Voyons le mouvement d'imbrication tout en démêlant le programme de calcul quatre-vingt-dix-neuf.
public class MultiplicationTable {
public void multiply() {
for (int x = 1; x < 10; x++) {
for (int y = 1; y < 10; y++) {
System.out.print(x * y);
System.out.print(" ");
}
System.out.println();
}
}
}
À partir de ce point, l'expression est "externe pour
instruction" au lieu de "supérieur" pour instruction ", et" interne "pour
instruction" au lieu de "inférieur pour
instruction". Puis, à partir de la troisième ligne. Il est exécuté à partir de ʻint x = 1; . Alors
x <10;`. Cette fois, c'est "vrai", alors passons au contenu de l'exécution. Si vous êtes un débutant, il sera vide pour voir où se trouve l'exécution, mais veuillez voir la figure ci-dessous.
L'instruction «for» a été agrandie et codée par couleur. Comme vous pouvez le voir, le contenu d'exécution de l'instruction externe «for» est l'instruction «for» interne bleue. La valeur initiale de l'instruction interne for
(bleu), ʻint y = 1, est exécutée pour passer à la condition. Puisque «y <10;», remplacez-le et c'est «1 <10». Puisqu'il est «vrai», il passe au contenu de l'exécution. C'est «System.out.print (x * y)». «x» était une variable dans l'instruction externe «for». À ce stade, «x = 1». Donc, ici, «1 * 1» est exécuté et le résultat est «1». «1» s'affiche à l'écran et passe à la ligne suivante.
System.out.print (" ")` affiche un blanc demi-largeur.
Une fois cela fait, l'étape suivante consiste à changer. Puisqu'il est «y ++», «y» augmente de un et devient «2», puis la condition continue. Puisqu'il est «y <10», il devient «2 <10» et il est «vrai», donc il revient au contenu de l'exécution. C'est «System.out.print (x * y)». Puisqu'il est «1 * 2», le résultat sera «2» et il sera affiché à l'écran, et le blanc demi-largeur de la ligne suivante sera également affiché, et il sera répété après le passage au changement. Lorsque la valeur de «y» atteint «9» par un tel mouvement, «1 2 3 4 5 6 7 8 9» s'affiche à l'écran. Voyons ce qui se passe après cela.
Avec «y ++», «y» devient «10» et la condition se déplace. Puisque «10 <10» est «faux», «System.out.println ()» au bas de l'instruction interne «for» (bleu) est exécuté pour commencer une nouvelle ligne. Ceci termine l'instruction interne for
(bleu) et revient à l'instruction externe for
(rouge). A partir de là, c'est répété. Si vous commencez par 2 * 1
et allez à 2 * 9
, 3 * 1
sera exécuté avec un saut de ligne. Voyons le résultat réel de l'exécution.
1 2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81
C'est le comportement du programme quatre-vingt-dix-neuf utilisant l'imbrication des instructions «for». C'est facile à démêler. En appliquant cela, j'ai posé une question que j'ai posée au début. Le résultat est là.
■
■■
■■■
■■■■
■■■■■
■■■■■■
■■■■■■■
■■■■■■■■
■■■■■■■■■
■■■■■■■■■■
■■■■■■■■■■
■■■■■■■■■
■■■■■■■■
■■■■■■■
■■■■■■
■■■■■
■■■■
■■■
■■
■
Ce que je fais, c'est utiliser l'instruction for
pour augmenter le nombre de ■
par ligne pour exprimer un triangle. J'ai fait une forme qui augmente de un et une forme qui diminue de un, et ai affiché le haut et le bas combinés. Ci-dessous le programme.
public class TriangleTop {
public void traiangle() {
for (int x = 0; x < 10; x++) {
for (int y = 0; y < x+1; y++) {
System.out.print("■");
}
System.out.println();
}
}
}
public class TriangleBottom {
public void traiangleReverse() {
for (int x = 0; x < 10; x++) {
for (int y = 10; y > x; y--) {
System.out.print("■");
}
System.out.println();
}
}
}
Si vous avez lu jusqu'ici, vous n'avez plus à l'expliquer.
Il est difficile pour les débutants de comprendre immédiatement le comportement de l'imbrication des instructions «for». Il est recommandé de ne pas simplement le regarder, mais d'essayer d'abord de faire des erreurs de vos propres mains. Je voulais faire un triangle qui était retourné vers la gauche, alors j'ai essayé un carré, mais j'ai abandonné parce que je ne pouvais pas afficher les blancs en demi-largeur en continu. Je voudrais un jour dessiner une image simple avec la phrase «pour».
Aussi, est-ce que Qiita peut publier quelque chose comme ça?
Recommended Posts