第9回 – for loop(繰り返し処理) 1


 プログラミングで映像を制御する大きな魅力の1つは、手で書き込んだりしていたのではとても間に合わないような量の図形を簡単に扱うことが出来る、という点にあります。
 そして、それを実現するのが繰り返し処理で、今回から数回かけて繰り返し処理の最も初歩的な構文である「for loop」について学んでいきます。
 

for loopって?

for loopは、指定した範囲を何度も繰り返し実行するための構文です。
具体的には

for(int i = 0;i<100;i++){


}

のように書きます。
すると、{ }の間が、今回の場合は100回繰り返して実行されます。

もう少し具体的に、このfor loopがどのような仕組みになっているかを説明します。

for(条件の初期状態の指定, 繰り返し条件, 繰り返される毎に行われる処理){
 繰り返し実行したい内容
}

まず、この「条件の初期状態の指定」の部分で、「条件に使うための変数」を宣言します。
例では
int i = 0;
となっていますが、実際にfor loopの条件としてint型のiという名前の変数が使われることが多いようです。

次に、「繰り返し条件」ですがここが trueの間はこの{ と } の間が延々ループされます。
この条件の部分に

true

などと書こうものなら、無限ループに陥ってしまいます。

for(int i = 0;true;i++){
こう書くと無限ループ(プログラムがクラッシュして強制終了される)
}

色々なループ条件を指定することも出来ますが、例のように

i < 100

などと、「最初の部分で宣言した変数の値がxxより小さい場合」のように指定する事が一般的です。

for(int i = 0;i<100;i++){
こう書くと、この部分が100回繰り返される
}

最後に、「繰り返される毎に行われうる処理」のところに

i++

と書いてありますが、これは 「iに1を足せ」という意味です。

i = i + 1;

と書くのと全く同じですが、この処理は色々なシーンで多用されるので、短く書けるように ++という特別なキーワードが用意されています。(インクリメントと呼びます)

慣れるまでは、とりあえず繰り返したい回数を i < x のxの場所に書いた

for(int i = 0;i<100;i++){
こう書くと100回
}

for(int i = 0;i<1000;i++){
こう書くと1000回
}

for(int i = 0;i<5;i++){
こう書くと5回、この中が繰り返される
}

この形式をそのまま使ってしまって良いと思います。
直接値を書くパターン以外に.lengthを使うパターンや、動的配列でremoveを使うために逆回転させる場合や、拡張for文を使う場合など色々な例外が今後出てきますが、今は気にしないことにしましょう。

次回は、for loopの具体的な使い方をいくつか見ていきたいと思います。