Java for循环经过退出条件

时间:2017-09-30 01:44:03

标签: java arrays for-loop

我有一个正在运行大小为512的数组的for循环(索引范围0 - 511)。但是,当i == 512时,它会继续进入循环,无论如何抛出ArrayIndexOutOfBounds异常。下面的屏幕截图显示了我在调试模式下运行它时的代码,其中停止条件设置为i == 512。

enter image description here

任何人都知道为什么即使在退出条件满足后这个循环仍在继续循环?

1 个答案:

答案 0 :(得分:3)

你的循环条件是:

i < frameSet * associativity + associativity

根据调试器,当前值为512 < 64 * 8 + 8512 < 520,其值为true。这就是循环仍在运行的原因。