for
Processingにおけるforは、繰り返しのシーケンスを制御します。
構造の基本は、init、test、updateという3つの部分で構成されています。
各部分は、セミコロン(;)で区切らなければなりません。
ループはテストが偽と評価されるまで続きます。
for構造体が実行されると、次の一連のイベントが発生します。
1. init文が実行されます。
2.試験は真または偽であると評価される。
3.テストが真であれば、ステップ4にジャンプします。テストが偽であれば、ステップ6にジャンプします。
4.ブロック内のステートメントを実行します。
5.更新ステートメントを実行し、ステップ2にジャンプします。
6.ループを終了します。
上記の最初の例では、for構造体が40回実行されます。
init文では、値iが作成され、ゼロに設定されます。
私は40未満ですので、テストは真と評価します。
各ループの終わりで、iは1だけインクリメントされます。
41回目の実行では、iが40に等しいので、テストはfalseと評価されるため、i <40はもはや真ではありません。
したがって、ループは終了します。
構造体の第2の型は、配列の各要素を繰り返し処理することを容易にします。
上記の最後の例は、どのように動作するかを示しています。
括弧内では、最初に配列のデータ型を定義し、次に変数名を定義します。
この変数名は、forが配列全体を移動するときに、配列の各要素に順番に割り当てられます。
最後に、コロンの後に、使用する配列名を定義します。
Processingで使用するforの使い方は以下の通りです。
//example pic
for (int i = 0; i < 40; i = i+1) {
line(30, i, 80, i);
}
//example pic
for (int i = 0; i < 80; i = i+5) {
line(30, i, 80, i);
}
//example pic
for (int i = 40; i < 80; i = i+5) {
line(30, i, 80, i);
}
//example pic
// Nested for() loops can be used to
// generate two-dimensional patterns
for (int i = 30; i < 80; i = i+5) {
for (int j = 0; j < 80; j = j+5) {
point(i, j);
}
}
// This example has no visual output,
// but prints values to the console.
int[] nums = { 5, 4, 3, 2, 1 };
for (int i : nums) {
println(i);
}
図2:プログラム実行結果
〇forの構文
for (init; test; update) {
statements
}
for (datatype element : array) {
statements
}
〇forのパラメータ
init :ループ開始時に一度実行される文
test :真と評価されるかどうかをテストします。
update :各繰り返しの最後に実行されます
statements :ループのたびに実行されるステートメントのコレクション
datatype :配列内の要素のデータ型
element :配列の各要素に使用する一時的な名前
array :反復する配列の名
〇forの戻り値
特になし。