我最近摆弄了一些 for 循环,并试图了解其中的一些逻辑部分。虽然此时我远远超出了循环的层次,但有时在涉及逻辑时我仍然会变得有点奇怪。
但是,我发现一个for循环的增量值是不同的,这取决于你是在循环内还是在循环外:
int i;
for(i = 0; i < 10; i++) {
System.out.println(i); // 0 ... 9
}
System.out.println(i); // 10
现在,恐怕有一天我会不得不使用计数器做一些事情,而不仅仅是将它与条件相匹配...
现在我想我明白为什么会这样了;在条件失败且循环终止后,我会递增,但这真的应该发生吗?
是否有任何数学/逻辑(或优雅的)方法可以在循环终止后不让它进入 N+1,我在这里错过了?
最佳答案
这就是 for 循环的工作原理:
- 检查条件,如果成立则转到2,否则终止;
- 跑体;
- 执行修改,转到1。
总之,你不能。
此外,如果变量没有达到 N + 1
,循环如何终止?在这种情况下,循环条件始终成立,因此它将永远运行。
关于java - 不同的for循环增量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16625855/