Java中的嵌套循环如何工作?

时间:2013-11-15 08:39:59

标签: java nested-loops

我是Java编程的新手,并且正在尝试学习编码的基础知识。我想知道这段代码是如何工作的?

for (int i = 1; i <= 5; i++) {
    for (int j = 1; j <= 10; j++) {
        System.out.print((i * j) + " ");
    }
    System.out.println();
}

如果这里的编程sherlocks可以解释我的逻辑,我将非常感激。

5 个答案:

答案 0 :(得分:3)

for (int i = 1; i <= 5; i++) {   // outer loop iterates 5 times.
    for (int j = 1; j <= 10; j++) {  // for each iteration of outer loop, 
                                     // inner loop iterates 10 times
        System.out.print((i * j) + " ");
    }
    System.out.println();
}

外循环的第一次迭代(内循环的10次迭代)

i = 1, j = 1
i = 1, j = 2
...
i = 1, j = 10

外循环的第二次迭代(内循环的10次迭代)

i = 2, j = 1
i = 2, j = 2
...
i = 2, j = 10

...

外循环的最后一次迭代(内循环的10次迭代)

i = 5, j = 1
i = 5, j = 2
...
i = 5, j = 10

答案 1 :(得分:1)

它会......

1*1 1*2 1*3 till it gets to 1*10, then on a new line
2*1 2*2 2*3 and it will go to all the way to 
.
.
5*10

因此它将打印出1 2 3 4 5 ...直到10,然后再换一行。输出如下。

1 2 3 4 5 6 7 8 9 10 
2 4 6 8 10 12 14 16 18 20 
3 6 9 12 15 18 21 24 27 30 
4 8 12 16 20 24 28 32 36 40 
5 10 15 20 25 30 35 40 45 50 

答案 2 :(得分:1)

因为trying to learn the basics of coding,分享此内容。

进入循环(i)后,你面临第二个循环(j)。

现在第二个循环将首先完成,因此对于每个i,j将是1-10。

答案 3 :(得分:0)

所以你将从外到内工作:每次'top'循环运行,即5次,它将执行括号之间的代码。

在那里,还有另一个循环,使用j作为索引,它将运行10次。因此,当我们运行上部循环5次,并且它执行另一次循环10次时,我们将运行50次。所以50次,这将打印出i和j的产品。

在'j'循环的每10个循环之后,它将打印出一个新行。

答案 4 :(得分:0)

对于外循环的每次迭代,内循环将执行10次,因此这个内循环将在该程序中执行50次。

i =1控件进入外循环并且控件流向内循环时, 现在j=1并且它满足条件j<=10所以将进入内循环

现在这将打印

1

然后j会增加,j仍然会满足条件j<=10 并打印

2 

现在该行看起来像

1 2

这一直持续到j<=10为假,即当j11时,内循环将停止执行 和控制流程到下一个打印新行的打印语句

然后i增加到2并且同样的事情发生,直到i <=5为假, <{1}}变为i循环停止。