我被分配到一个拥有大量(部分遗留)代码库的 Android-Java(实时游戏)项目上工作。
我看到的大多数循环都是这样的(其中 mjk 通常是一个 Java 数组):
int count = mjk.length;
for (int i = 0; i != count; ++i) {
// Stuff dealing with mjk[i]
}
我通常写这样的循环:
int count = mjk.length;
for (int i = 0; i < count; i++) {
// Stuff dealing with mjk[i]
}
知道为什么原作者(到目前为止我无法联系到他)使用以前的表格吗?它在 C++ 中很常见吗?
我问这个的实际原因是 JIT 优化:据我所知,Android 优化循环(归纳变量、不变量、范围检查迁移到循环序言等),我想知道不相等是否会阻止这种优化(不像较低-than,它指定了一个明确定义的范围)。
我只是好奇第一种用法是否比第二种用法有任何优点/缺点(在所有方面)。