目前我正在攻读我的Java测试.惠斯特学习我遇到了一个小问题.
在这个for循环中:
for ( int i=1; i <= 3 ; i++ ) { for (int j=1; j <= 3 ; j++ ) { System.out.println( i + " " + j ); } }
输出是:
1 1 1 2 1 3 2 1 2 2 2 3 3 1 3 2 3 3
我的问题是,我不明白.当我读到这段代码时,我一直认为它应该是这样的:
1 1 2 2 3 3
为什么不是这样?
i的每次迭代,你都开始了一个全新的j迭代.
所以,你从i == 1开始,然后在循环中j == 1,2,3.然后i == 2,然后循环中j == 1,2,3等.
一步一步地完成它,这将是有道理的.
你拥有的是另一个循环.把它想象成时针上的分针和时针.分针即将到来(1,2,3,4 ... 59),而时针仍然是1.因此,如果我们将小时视为i,将分钟视为j,我们有:
1 1
1 2
1 3
...
1 60
然后小时变为2,分针一直在四处走动:
2 1
2 2
2 3
...
2 60
一旦我们到达,我们就完成了
12 1
12 2
12 3
...
12 60
这是循环结束的地方.你的例子很像这样.
(对于迂腐,我知道它是从零开始的,但为了说明,这可能更容易理解)