-2

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

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

如果这里的编程大神能解释我的逻辑,我将非常感激。

4

5 回答 5

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
于 2013-11-15T08:48:27.687 回答
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 
于 2013-11-15T08:44:13.783 回答
1

因为trying to learn the basics of coding,分享这个。

一旦你进入循环(i),你就会面临第二个循环(j)。

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

于 2013-11-15T08:49:28.683 回答
0

因此,您将从 te 外到内工作:每次运行“top”循环时,即 5 次,它将执行括号内的代码。

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

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

于 2013-11-15T08:44:56.533 回答
0

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

i =1控制进入外循环,控制流到内循环,j=1此时满足条件j<=10,进入内循环

现在这将打印

1

thenj将递增并且j2 仍然满足条件j<=10 并打印

2 

现在这条线看起来像

1 2

这一直持续到j<=10为假,即j内部11循环何时停止执行并且控制流到下一个打印新行的打印语句

然后i递增到2并且同样的事情发生直到i <=5是假的,即当 i循环6停止时。

于 2013-11-15T08:47:20.337 回答