for(int i=0;i<10;i++) {
System.out.println(i);
}
在这个简单的for循环中,我们将i
初始化为零并在每个回合中递增它。但是如果我们已经增加i
,为什么我的输出从0开始。它不是必须为0吗?还有一个指示
for(int i=0;i<10;) {
i++;
System.out.println(i);
}
他们都是循环,但为什么输出不同?
答案 0 :(得分:13)
可能是因为
for(int i=0;i<10;i++) {
System.out.println(i);
}
相当于:
for(int i=0;i<10;) {
System.out.println(i);
i++;
}
答案 1 :(得分:4)
在:
for(int i=0;i<10;i++) {
{<1}}在每次迭代后执行,而不是之前。
换句话说,这个循环相当于:
i++
请注意,int i = 0;
while (i < 10) {
System.out.println(i);
i++;
}
发生在 i++
之后发生 。
答案 2 :(得分:2)
for-loop看起来像这样:
for (initializer; condition; increment)
statements;
执行方式如下:
initializer;
while (condition)
{
statements
increment
}
因此,增量仅在statements
执行后发生。
答案 3 :(得分:1)
它在代码中以1开头的原因是你在使用前告诉它增加: 的System.out.println(ⅰ);
答案 4 :(得分:0)
输出是不同的,因为for循环的迭代步骤(第三个字段)在执行代码之后发生。
这是第一个for循环的等效语句:
for(int i=0;i<10;) {
System.out.println(i);
i++;
}
答案 5 :(得分:0)
在第一个中,i ++在循环结束时执行。那是在循环块完成之后。像编译器这样的IT将i ++添加到循环体的末尾。所以最初i的值是0并且在循环结束时递增。在第二种情况下,您将在循环开始时手动递增
答案 6 :(得分:0)
第一个for
参数是初始化;它在每次整个操作之前评估一次。第二个参数是一个条件。它在每个单个循环之前执行,如果是真的则循环继续。第三个for
参数是迭代,它评估每个循环之后,包括最后一个循环。
最后一条规则可以将循环放入链中。您应该从int
中删除for
定义,然后在外面的某处定义循环变量。
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/for.html