Java 嵌套循环和结束值

Java 嵌套循环和结束值,java,loops,nested,Java,Loops,Nested,c1退出循环之前(以及之后)的最后一个值是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"); intc

c1退出循环之前(以及之后)的最后一个值是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"); 
intc1,c2;

对于(c2=4;c2No最后一个值是6。在迭代5次后,它会
c1++
,然后循环的下一次迭代失败。for循环的
c1No最后一个值是6。在迭代5次后,它会
c1++
然后循环的下一次迭代失败。for循环检查条件确定是否应跳过正文。您的条件是:
c1for循环检查条件以确定是否应跳过正文。您的条件是:
c1for循环由三个(可选)部分组成:初始化、终止条件和更新语句。
update语句(c1++)总是在循环中每次迭代结束时执行

在c1=5的最终迭代中,条件为真,因为循环的5for包含三个(可选)部分:初始化、终止条件和更新语句。 update语句(c1++)总是在循环中每次迭代结束时执行



在c1=5的最终迭代中,条件为真,因为5请编辑您的问题以添加注释中的信息;请缩进您的代码。这个问题与嵌套for循环无关:您可以去掉外部for循环并删除
c2
变量,您仍然会看到
发生完全相同的事情>c1
。请编辑您的问题以添加注释中的信息;并请缩进您的代码。此问题与嵌套for循环无关:您可以去掉外部for循环并删除
c2
变量,您仍然会看到
c1
发生完全相同的事情。这只是java自动生成的吗ally需要退出循环吗?我知道最后一次迭代c1=5,但为什么额外的c1++?让我来理解你。作为标题的一部分,当它到达c1=5时,它仍然通过标题并递增1。之后,它注意到布尔值为false,存在循环,但它保留了最终状态的值t c1=c1+1?在每次迭代结束时,for循环执行increment语句,
c1++
。然后,它跳回到循环的开头。在这一点上,它计算条件
c1凯文-它看起来是我的,我们在同一页上。那么最后一个值是6,这只是一个细微差别吗?如果我没有打印语句的话对于循环的e,很难知道最后一个值是一个额外的增量。如果print语句在循环中,则该值为5。这是正确的。具有for循环的大多数语言都有相同的行为——如果在这样一个循环之后尝试访问计数器变量,则其值将无法满足测试条件。is这只是java自动做的一些事情来摆脱循环?我知道最后一次迭代c1=5,但为什么额外的c1++?让我来理解你。作为标题的一部分,当它到达c1=5时,它仍然通过标题并递增1。之后,它注意到布尔值为false,存在循环,但它保留了ns最终语句c1=c1+1的值?在每次迭代结束时,for循环执行increment语句,
c1++
。然后,它跳回循环的开头。在这一点上,它评估条件
c1凯文-看起来是我的,我们在同一页上。那么最后一个值是6只是细微差别吗?如果我没有如果将print语句置于循环之外,则很难知道最后一个值是额外的增量。如果print语句位于循环之内,则该值将为5。这是正确的。具有for循环的大多数语言都有相同的行为——如果在这样一个循环之后尝试访问计数器变量,其值将是让我了解一下。java的执行顺序如下:1.它计算c1=12.它计算1小于布尔条件3.执行主体4.然后它执行c1=c1+1(这是增量)…在最后一次迭代中,1.它打印主体(这是5)2.执行5+13的增量。检查布尔语句是否为false,因为6Yes,这是大多数语言中for循环通常的工作方式。在本例中,三条语句由
分隔,首先在整个循环开始之前执行(init,仅一次),在每个循环之前测试一个循环条件(是否再次循环),然后是每个循环后执行的最后一条语句。我现在明白了。我想这只是其中的一条(虽然逻辑上和顺序上都有意义),仍然必须记住。细微差别让我理解你。java的执行顺序如下:1.它计算c1=12.它计算1小于布尔条件3.执行主体4.然后它执行c1=c1+1(这是增量)…在最后一次迭代中,1.它打印主体(这是5)2.执行5+13的增量。检查布尔语句是否为false,因为6Yes,这是大多数语言中for循环通常的工作方式。在本例中,三条语句由
分隔,首先在整个循环开始之前执行(init,仅一次),在每个循环之前测试一个循环条件(是否再次循环),然后是每个循环后执行的最后一个语句。我现在明白了。我想这只是其中一个(虽然逻辑上和顺序上都有意义)仍然需要记住的事情。有些细微差别