Java #6 for文って何?


こんにちは。株式会社クリーブ採用担当です。

技術研修(プログラミング研修)をしている中で、「なるほどな」と思った考え方を絵にして皆さんに分かりやすいように発信しています。

今回はJavaのfor文についてです。
※#5から1年も期間が空いてしまいました…!すみません(´・・`)

前回の復習

前回はswitch文について説明しました。
制御文の中の分岐に分類される文ですね。

まだ読んでいない、内容を忘れてしまった、という方は前回の記事も読んでみてくださいね!<https://note.com/cleave_official/n/n489bc712ed04

画像1

for文って何?

for文は繰り返しの処理をするときに使う文です。
繰り返しに分類される制御文は3つありますが、for文は繰り返す回数が決まっているときに使います。

画像5

for文はforの後の括弧に3つ書くことがあります。

①ループカウンタ
最初にループカウンタを書きます。
ループカウンタとは繰り返しの回数を数える変数のことです。
学生の頃、体育でよく見た得点板のイメージです。
上記のプログラムのように、0から始めることがほとんどです。

画像5

②条件式
次に条件式を書きます。
コンピュータはこの条件を満たしている限り、処理を繰り返します。
i < num.length; は、「変数iが配列numの要素数より小さいとき」です。
今回の場合、numの要素数は4なので、ループカウンタ(変数i)が0,1,2,3のときに処理をします。

③繰り返しが1回終わったらする処理
最後は、繰り返しが1回終わったらどうするかを書きます。
今回は、i++; と書いてあるので、1回処理が終わったらループカウンタに1プラスします。
1回終わったら得点板を1枚めくるイメージですね。

画像6

例えば・・・

例えば、配列numに入っている値を1つずつ並べて下記のように表示させるとします。

num[0]・・・5
num[1]・・・8
num[2]・・・2
num[3]・・・4


※配列の説明を見たいときはこちら! lengthの話も書いてあります。

画像3

その場合のコードは下記のようになります。

int[]num = {5,8,2,6};

for(int i = 0; i<num.length; i++){

System.out.println(“num [” + i + “] ・・・” + num[i]);

}

int i = 0; でループカウンタを設置、初期化で0にします。
i<num.length; は「iが配列numの要素数より小さいとき繰り返す」です。

forの括弧の中の2番目に書いてある条件式(i<num.length;)を満たしている場合、System.out.println~の処理を1回行います。
System.out.println()は、括弧内に書いてあるものを表示出力させるので、
iが0の場合は num[0]・・・5 と表示されます。

★System.out.println()を使って、文字列を表示させたい場合は””(ダブルクォーテーション)で挟みましょう。
変数に入っている値を出したいときや、配列の中の値(データ)を出したいときは””で挟まず、i や num[i] のようにそのまま書きましょう!

表示出力が1回終わると、forの括弧の中の最後 i++ の処理を行います。
つまり、ループカウンタが1上がります。得点板で考えると1枚めくるイメージですね。

まとめ

今回説明したことをまとめると下の図のようになります。

画像2

for文は一度仕組みを覚えてしまえば使いやすい文だと思いますので、何回でもこの記事に復習しに来てくださいね。

次回はwhile文を説明する予定です。
また見に来てくださいね。

おまけ

株式会社クリーブのHPや公式SNSにぜひ遊びに来てください!
「こんな動画作ってほしい」「業界のこういうこと知りたい」
などありましたら、TwitterやInstagramのDM、TikTokやYouTubeのコメントなどで、お気軽にお申し付けください。