不同类型的for-loop结构

时间:2015-11-06 05:59:20

标签: java for-loop

我见过的所有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);
    }
}

1 个答案:

答案 0 :(得分:1)

 for (Component c : squares)
    {
}
  

在发布版本中引入了= for循环调用for-each循环的增强功能   1.5。提供良好的代码可读性,但它错过了索引。

     

当你看到冒号(:)时,将其读作“in”。因此,上面的循环   读为“元素中的每个元素e”。请注意,没有   使用for-each循环的性能损失,即使对于数组也是如此。

更详细的信息here