for文とは?
はじめに
JavaやJavascriptでよく出てくる「for文」って一体何なのか。いまいち良く分からない人の為に、本記事で簡単に分かりやすく解説していきます。実は「for文」は現場でよく扱うものなので、覚えておく必要があります。それでは一つ一つ見ていきましょう。
「順次」「繰り返し」「条件分岐」とは
ソースコード上の命令文は、上から順に処理していくものだが、制御構文というものを使うと処理の流れを自在に組むことが可能になります。ソースコード上の命令文を上から順に実行していく処理方法のこと「順次」といい、制御構文を扱えるようになると順次以外にも「繰り返し」「条件分岐」といったプログラムの流れを作ることができるようになります。「順次」「繰り返し」「条件分岐」の3つを最適に組み合わせることでだれが見ても理解しやすい、シンプルでロジカルなアルゴリズムが書けると言われています。このような考え方でプログラムを組み立てる手法のことを「構造化プログラミング」といいます。
例えば、ロボットに5×5のマス目をスタートからゴールまで移動させる指示を出すとします。
順次の場合
「1マス前に進め」→「1マス前に進め」→「1マス前に進め」→「1マス前に進め」→「左に向きを変えよ」→「1マス前に進め」→「1マス前に進め」→「1マス前に進め」→「右に向けを変えよ」→「1マス前に進め」
繰り返しの場合
「1マス前に進め」を4回繰り返せ→「左に向きを変えよ」→「1マス前に進め を3回繰り返せ」→「右に向きを変えよ」→「1マス前に進め」
繰り返しを使うと、このようなイメージになります。順次と比べてもわかるようにとてもコンパクトになりましたよね。では、繰り返しについて、もう少し詳しくみていきましょう。
「繰り返し」とは
繰り返しとは、条件を満たす限り同じ処理を反復して実行するという意味を指します。書こうと思えばどんなプログラムもすべて順次で書けるのですが、繰り返しを使うことで処理をよりシンプルで効率的にすることが可能になります。
繰り返しの制御構文として主要なものは、for文とwhile文になります。今回はfor文とwhile文のうち、for文について詳しく解説いたします。繰り返しは「条件を満たす限り同じ処理を反復して実行する」です。for文の構造は「繰り返し条件」「繰り返し処理」の2つに大きく分けられ以下のように書くことができます。
for文の構造: for(繰り返し条件){繰り返し処理}
繰り返し条件
for文の()内に記述する繰り返し条件は、「;」で3つのパートに分けれらます。
① ② ③
int i=0 ; i<4 ; i++
①初期設定 for文が始まって最初に行う処理
②実行条件 trueであれば繰り返し処理を実行する
③継続処理 繰り返い処理が終わった際に実行する処理
繰り返し処理
① ② ③
int i=0 ; i<4 ; i++
①int型の0という変数を作り、iで初期化しましたという意味で変数宣言が行われました。このiをカウンタ変数と言います。
②iが4より小さくtureの場合のみ実行されます。4より大きくfalseになった場合は実行されません。
③どうなれば実行されるのかが記述されています。「i++」ということは、「i+1」が繰り返されます。
「for文」と「配列」について
for文と配列は、実はとても相性が良いのです。現場でも良く使われる場面が多く頻繁に用いられますのでしっかりと押さえておきましょう。
配列とは
そもそも配列とは、英語で「array(アレイ)」いい、同一種類の複数データを並び順で格納するデータ構造のことを指します。正方形の箱が横に連なっているイメージです。この箱の一つ一つを要素(element)といいます。要素は通常の変数のように型を持ち、1つのデータを格納できます。また、配列に含まれる各要素の方はそろえる必要があり、要素の型がint型ならば、その他の要素の方もint型でなければいけません。よって、配列の各要素には同一種類のデータしか格納できません。配列内の各要素には0番、1番、2番という番号がついており、この番号を添え字(index)といいます。1から始まらずに 0から始まる決まりになっています。また、0から始まる為、最後の添え字は要素数より1小さいということも注意してくださいね。
配列のチェックをfor文で行うポイントは以下の2つです。
ポイント① 配列のインデックスにカウンタ変数(初期値0)を指定することで、ループ毎に要素の値をインデックス0から順に取得していくことが可能になるということです。
ポイント② 実行条件に「配列名.length」を用いることで、配列の要素数がいくつであっても必ずその要素数だけきっちり繰り返すループを作ることができるということです。
おわりに
今回、for文また、配列についても簡単に解説いたしましたが、いかがでしたでしょうか。for文は一度覚えると簡単に応用が可能な構文になります。現場でも良く使うことが多いので、取っ掛かりとして、簡単な数字を使ったゲームを作成するといいかも知れません。また、繰り返しの制御構文はfor文とwhile文があるので、ぜひwhile文についても調べてみてください。最後までお読みいただきありがとうございました。