12.繰り返し
1.繰り返し
同じ図形を何度も描く場合は、 while や for を使うと簡単にできます。
2.while文
while(ホワイル) というのは、英語で「〜のときずっと」という意味です。
while文のしくみ
条件 が当てはまっているあいだ、何度も 命令 が繰り返されます。if文と形は似ていますが、while文は条件が当てはまっているとずっと繰り返されるのが違います。
// while文の形while(条件){ 命令;}
printlnの例
整数型(int)の変数aを宣言し、aが5よりも小さい間aをコンソールに表示します。
int a = 0;while(a < 5){ println(a); a += 1;}
ここで、条件は a < 5
です。なので、aが5より小さい間、命令が繰り返されます。 println(a)
はaを表示しなさいという命令です。 println(プリントライン) と読みます。その次の a += 1
でaが毎回大きくなっていき、aが5を超えると繰り返しが終了します。
Console(コンソール) に
01234
と表示されているのに注目してください。 println(a)
でaが表示されているのです。aが5になると a < 5
の条件が成立しなくなるため、while文は終了します。したがってaが5のときは println(a)
の命令は実行されず、4まで表示されます。
このように、printlnを使うとプログラムで変数がどうなっているかを表示することができます。 デバッグ に使うと良いでしょう。
3.四角形を並べる
while文を使って四角形を横に3つ並べてみます。
size(600,400);
int a = 0;while(a < 3){ rect(200*a,100,200,200); a += 1;}
rect()の命令が3回繰り返されます。このとき、aが最初は0、2回目は1、3回目は2になります。なので、
rect(0,100,200,200);rect(200,100,200,200);rect(400,100,200,200);
を実行したのと同じことになります。
4.for文の使い方
for(フォー) もwhileと同じような意味です。for文のほうがわかりにくいですが、慣れるとwhile文よりも短く書けます。
for文のしくみ
while文では、変数の初期化と変数の増加を条件とは別の行に書きましたが、for文ではまとめて書きます。
// for文の形for(変数の初期化;条件;変数の増加){ 命令;}
四角形を並べる
さきほどの四角形を並べる例をfor文で書いてみましょう。
size(600,400);
for(int a = 0; a < 3; a++){ rect(200*a,100,200,200);}
短く書けるのがわかったでしょうか?ちなみに、 a++
は、 a += 1
を簡略化したものです。今後も出てくるので覚えておきましょう。