我见过的所有for循环基本上如下所示:
for(int i = 0; i < thing.length; i++){
// Does this each iteration
}
但我正在处理一个项目(我假设是),下面显示了一种不同类型的for循环。有人可以向我解释这种循环是如何工作的吗?它有名字吗?
Component[] squares = getComponents();
for (Component c : squares)
{
Square s = (Square) c;
// Set the color of the squares appropriately
int status = model.getOccupant(s.getRow(), s.getCol());
if (status == P1)
{
s.setColor(P1_COLOR);
}
else
{
s.setColor(BACKGROUND_COLOR);
}
}
答案 0 :(得分:1)
for (Component c : squares)
{
}
在发布版本中引入了= for循环调用for-each循环的增强功能 1.5。提供良好的代码可读性,但它错过了索引。
当你看到冒号(:)时,将其读作“in”。因此,上面的循环 读为“元素中的每个元素e”。请注意,没有 使用for-each循环的性能损失,即使对于数组也是如此。
更详细的信息here