2012-04-11 12 views
1

私はこれまでに見たことのない方法で構造化されたforループを見つけました。私はそれが何をしているのかを私に説明できるかどうか疑問に思いますか?処理中ベレの方法のための例の一つとして提供されています。ここでは奇妙なJava forループフォーマット

http://www.openprocessing.org/sketch/17191

は、コードは次のとおりです。

for(VerletParticle2D p : physics.particles) { 
    ellipse(p.x, p.y, 5, 5); 
} 

それはその額に達するまで、それは単に「P」の粒子を追加して前に設定されていますか?

+0

質問を投稿する前に何を探しましたか? – bluesman

+5

@bluesman:OPへの公平さの中で、慣れない構文、特に特別なキーワードが含まれていない構文については、Googleにとってかなり難しいです。 – NPE

+0

@aix +1は一般的な真理ですが、2番目の結果は「java for loop」と入力するだけです。[java documentation](http://docs.oracle.com/javase/tutorial/java/nutsandbolts/for.html) Oracleはこれを「拡張ループ」と呼びます。 – MarioDS

答えて

7

これは、いわゆる「for each」ループです。コレクションのすべての要素(または配列)physics.particlesを反復し、各要素を順番にpに割り当てます。

詳細については、Oracle documentationを参照してください。

3

。それはコレクションを反復処理します。

この場合、コレクションはphysics.particlesです。 pは、各繰り返しで現在のオブジェクトを表します。 VerletParticle2Dはオブジェクトのコンパイラタイプです。

3

forループはphysics.particlesの「Particles」を繰り返しており、その中のすべての要素に対して、楕円関数呼び出しを呼び出しています。