3日目、やってきました!!
TIm先生に従い、この日は「for loop」の勉強です!!
for loop は色んな言語で使われるみたいで、ここはしっかりと押さえないとって感じです。
for loopの役割は、
「何を」「どういう条件で」「どのように変化するまで」
というミッションを与えることで、自動的に処理を繰り返すという感じと理解しました!!
【for loopを使わなかったら、、、】
★int x = 0 に処理を繰り返すたびに数を1つずつ増やすという変更を加える。
int x = 0;
x += 1;
x += 2;
・
・
・
といった具合に、めっちゃくちゃ非効率になるとTim先生は教えてくださりました。
【for loop の使い方】
for loopは、
for(初期化式;条件式;変化式){
}
※{}の中は、繰り返しの中で実行される処理を入力する
これだけ見たらなんかいけそう!!
実際に、Tim先生に倣ってコーディング
for(int i = 0;i <= 4; i++){
System.out.println(i);
}
⇓
0
1
2
3
4
int 1を0として、4になるまで、1ずつプラスしていく
ループして探した数字をプリントする。
うむ、理解できた!!
++とかの表現が忘れそうだけど、なんとかいけそう!!
そして、Tim先生は別の表現方法も教えてくれました。
int x = 5;
for(int i = 0;i <= x; i+=x){
System.out.println(i);
}
⇓
0、5
なるほど、
int xを5として宣言することで、この変数xを使ったループができるということか。
int i は0で、5になるまでループさせる。ループさせる際にiは、5増える。
ループして見つけた数字をプリントする。
こんなところか。
【配列とループを使う】
Tim先生によると、ループは、配列と一緒に使われることが多いとのこと。
早速、Tim先生のコードを追っていく。
int[] arr = {1,5,7,3,4,5};
for(int i = 0;i<arr.length;i++){
if(arr[i] ==5){
System.out.println(“Found a 5!);
}
}
⇓
Found a 5!
Found a 5!
おっと、、、
なんかようわからんのが出てきた、、、
length??
急に出てきたな、、、
全体の流れを見たらなんとなく分かる気がしたから、この時はスルーしたけど、ちょっと調べてみよう。
(AI先生より)※2月11日調べ
lengthは、配列の要素数を知るために使います。
なるほどね!!
なんとなくはイメージしていたけど、より深く理解できました!!
あと、なんでarr[i]って、[]の中にiを入れてるん、、、
これも考えても考えても分からなかったので、スルーしていたのですが、ちょっと調べてみました!!
(AI先生より)※2月11日調べ
arr[i] == 5
は、配列arrの中からi番目の要素を取り出す。
arrを番号付きアパートに例えると、、、
部屋番号 0 1 2 3 4 5
住人 1 5 7 3 4 5
となり、
int i は、0から1ずつ増えていく数字で6つの要素の中をループ
arr[i] == 5 は、5という住人が住んでいる部屋番号を見つけたら取り出してください。
まあ、なんとなく分かりました!!
アパートの例えは、配列の仕組みを理解するのに分かりやすかったですね!!
【インデックスを追加する】
さきほどのコードのSystem~の箇所を
System.out.println(“Found a 5! at index” +1);
とすると、
Found a 5! at index1
Found a 5! at index5
といった感じに表示されました!!
index = 部屋番号
ということですね!!
ちょっと疲れてきたので、この記事はここまでとします!!
ではでは!!