For循环条件约定

Gen*_*ock 6 java for-loop conventions while-loop conditional-statements

我最近讨论了在Java中的for循环中使用非计数器相关条件:

for(int i = 0; o.getC() < 10; i++)
    o.addC(i);
Run Code Online (Sandbox Code Playgroud)

有没有人知道这样的条件是否有任何"官方"约定?在我看来,与等效的while循环相比,它更容易阅读,因为所有循环参数都在第一行中:

int i = 0;
while(o.getC() < 10) {
    i++;
    o.addC(i);
}
Run Code Online (Sandbox Code Playgroud)

甚至更糟:

int i = 0;
while(o.getC() < 10)
    o.addC(++i);
Run Code Online (Sandbox Code Playgroud)

Mar*_*zak 1

for与等效解决方案相比,循环几乎在所有情况下都使用while。数组、列表、标准数据结构。

另一方面,while通常与流一起使用并用于无限长的迭代。