我遇到了一个以我以前从未见过的方式构造的 for 循环。我想知道你是否可以向我解释它在做什么?它作为处理中 verlet 集成的示例之一提供:
http://www.openprocessing.org/sketch/17191
这是代码:
for(VerletParticle2D p : physics.particles) {
ellipse(p.x, p.y, 5, 5);
}
是否只是简单地添加一个“p”粒子,直到达到之前设置的数量?
我遇到了一个以我以前从未见过的方式构造的 for 循环。我想知道你是否可以向我解释它在做什么?它作为处理中 verlet 集成的示例之一提供:
http://www.openprocessing.org/sketch/17191
这是代码:
for(VerletParticle2D p : physics.particles) {
ellipse(p.x, p.y, 5, 5);
}
是否只是简单地添加一个“p”粒子,直到达到之前设置的数量?
这就是所谓的“for each”循环。它只是遍历集合(或数组)的physics.particles
所有元素,依次将每个元素分配给p
.
有关详细信息,请参阅Oracle 文档。
这是Java“For-Each”循环。它遍历集合中的所有元素。
http://docs.oracle.com/javase/1.5.0/docs/guide/language/foreach.html
那是一个for-each
循环。它遍历一个集合。
在这种情况下,集合是physics.particles。p
将代表每次迭代中的当前对象。VerletParticle2D
是对象的编译器类型。
for 循环正在遍历physics.particles 中的“粒子”,并且对于其中的每个元素,它正在调用椭圆函数调用。