嵌套的for循环输出

时间:2016-01-17 16:16:06

标签: java loops

我正在学习Java循环,并且正在努力理解如何针对嵌套for循环的问题生成输出。

代码是:

for(int count = 0; count <=3; count++)
    for(int count2 = 0; count2 < count; count2++)
        System.out.println(count2);

产生的输出是:

  

0
  0
  1
  0
  1
  2

任何人都可以解释一下,因为书中没有像通常那样的解释,谢谢。

5 个答案:

答案 0 :(得分:1)

第一个循环变量:Count循环到3。
第二个循环变量:count2循环计数。

然后你打印计数2.所以你第一次打印什么都没有,因为0不小于0,因此立即停止因为在那次迭代中count2不小于count。然后计数变为1,并且在您打印时。因此,您打印0.您遵循此逻辑,直到count为&lt; = 3,并且count2&lt;计数。

这是一个遍历循环的表:希望这有帮助。 Here is a table that iterates through the loop.

答案 1 :(得分:0)

很简单,请阅读

for(int count = 0; count <=3; count++) {
    for(int count2 = 0; count2 < count; count2++) {
        System.out.println(count2);
     }
}

因此当外环为0时,
内循环将以count2运行0次

所以当外环为1时,
内循环将以count2 <1运行1次,因此它将运行一次然后count2递增,因此将失败,因此0作为输出

并且类似地输出继续直到计数为3

答案 2 :(得分:0)

看着

for (int count = 0; count <= 3; count++) 
{
    for (int count2 = 0; count2 < count; count2++)
    {
        System.out.println (count2); 
    }
}

您首先使用count = 0;进入循环。然后内部循环将不会执行,因为初始条件是错误的(count2 < count因为0 < 0 = false而为假)。然后count增加1。然后内部循环将打印所有严格小于外部循环变量(count)的值。因此,如果count = 1内循环将打印从0开始的严格小于0的所有数字,即在这种情况下仅为0。对于count = 2,它会打印0,1,因为这些数字都严格小于count。对于count = 3,它会打印数字0,1,2。这会产生输出。

 <No output from count = 0>
 0 <from count = 1>
 0 
 1  <from count = 2>
 0  
 1
 2  <from count = 3>

答案 3 :(得分:0)

要理解此代码,请将代码更改为以下内容 -

for (int count = 0; count <= 3; count++) {
    for (int count2 = 0; count2 < count; count2++) {
        System.out.print(count2 + " ");
    }
    System.out.println();
}

这将产生输出为 -

  

0
  0 1
  0 1 2

答案 4 :(得分:0)

首先,使用花括号和缩进,您的代码会更清晰:

for (int count = 0; count <=3; count++) {
    for (int count2 = 0; count2 < count; count2++) {
        System.out.println (count2);
    }
}

现在外部for循环将使用count迭代4次,获得值0,1,2,3

内部循环不会为count == 0迭代,因此不会打印任何内容。对于count的值,count2将为:

enter image description here

解释了你得到的结果