嵌套循环和结束值

时间:2015-10-11 22:35:10

标签: java loops nested

c1离开循环之前的最后一个值(以及之后)是6.如何6?该变量的最后一个已知值是5.

这是代码snipplet

int c1, c2;

for (c2 = 4; c2 <= 5; c2++)
{
for (c1 = 2; c1 <= 5; c1++)
{
System.out.println("#"+""+c1); 
}
System.out.println(c2 + "  " + c1); 
}
System.out.println("\nLoop is done"); 

3 个答案:

答案 0 :(得分:5)

没有最后一个值是6.在迭代5次之后它执行c1++然后循环的下一次迭代它失败了for循环的c1 <= 5检查并退出循环。但是c1已经是6了。但是从未打印过,因为它只在循环中。

答案 1 :(得分:0)

for循环检查条件以确定它是否应该跳过正文。你的病情是c1 <= 5。因此,在最后一次迭代中,c1 = 5,然后它c1++。所以c1 = 6,此时c1 <= 5为假。

答案 2 :(得分:0)

对于三个(可选)部分的循环结构:初始化,终止条件和更新语句。 更新语句(c1 ++)总是在循环中每次迭代结束时执行。

在c1 = 5的最终迭代中,条件为真,因为5 <= 5。 Println将被执行,之后将更新语句将c1增加到6.由于6不是&lt; = 5,循环将终止。

所以最后的已知值确实是6而不是5,请注意否则循环永远不会停止,因为条件是真的。