我最近摆弄了一些for循环,并试图绕过它的一些逻辑部分。虽然我在这一点上远远超出了循环的水平,但有时候我仍然倾向于有点奇怪。
但是,我发现for循环的增量值会有所不同,具体取决于你是在循环内部还是外部:
int i;
for(i = 0; i < 10; i++) {
System.out.println(i); // 0 ... 9
}
System.out.println(i); // 10
现在,我担心有一天我会不得不使用计数器而不仅仅是将它与条件相匹配......
现在我想我明白为什么会这样;在条件失败并且循环死亡之后,我正在增加,但这真的应该发生吗?
在循环终止后,是否有任何数学/逻辑(或优雅)方式不能使其进入N + 1,我在这里缺少?
答案 0 :(得分:4)
这就是for循环的工作原理:
总之,你不能。
另外,如果变量没有转到N + 1
,循环如何终止?在这种情况下,循环条件总是成立,因此它将永远运行。
答案 1 :(得分:0)
由于检查后增量发生在循环中:
for(int i = 0; i < 10; i++)
一旦9&lt; 10,i
增量,9打印,而i
现在有10。
因此,System.out.println(i);
给出10作为答案。