我有一个正在运行大小为512的数组的for循环(索引范围0 - 511)。但是,当i == 512时,它会继续进入循环,无论如何抛出ArrayIndexOutOfBounds异常。下面的屏幕截图显示了我在调试模式下运行它时的代码,其中停止条件设置为i == 512。
任何人都知道为什么即使在退出条件满足后这个循环仍在继续循环?
答案 0 :(得分:3)
你的循环条件是:
i < frameSet * associativity + associativity
根据调试器,当前值为512 < 64 * 8 + 8
或512 < 520
,其值为true。这就是循环仍在运行的原因。