見出し画像

プログラム初心者が”DEV.LAB"を受講してどこまで成長できるかの記録 その6【第5章基本構文ー繰り返し】【ユーザー体験】

DEV.LAB受講生のayakaです:)
今回は第5章 基本構文ー繰り返しについてです。

画像1

第5章基本構文- 繰り返しの内容は以下となっています。​

  • for文

  • 拡張for文

  • for文のネスト

  • while文

  • do-while文

  • 処理の流れの変更

  • 制御文のまとめ

授業ポイントノート

反復構造

基本構文の繰り返しは反復構造とも呼ばれ、条件を満たす間、処理を繰り返すことを言います。用意した処理の処理を動的に処理させることができます。

For文

まずは For文についてです。
For文は下記のようなコーディングになります。
初期化の式とは、最初に1度だけ実行される処理-ループカウンタ- とも呼ばれるものです。
条件とは、ループカウンタの数値が、ある数値を超過するかどうかを評価する条件で、関係演算子を使って判定されます。判定結果がfalseになるまで繰り返し続けられ、判定する際にループカウンタを判定対象に入れるのを忘れないようにしましょう。
変化式とは、ブロック内の処理が完了した直後に実行されるものです。
ループカウンタを対象に入れていてもループカウンタを変化されなければ条件判断時に永久に繰り返されることになるので、注意が必要とのことです。
(変化式の例としては ++ (インクリメント) や -- (デクリメント)があります)

DEV.LAB授業動画より

上記の式をフローチャート化したものが下記になります。
このように授業動画では、コーディングだけでなく、視覚化したチャートなどでも説明をしてくださるので、つまずきやすく難しい章ではありましたが、理解するのにとても助かりました。

DEV.LAB授業動画より

For文の例として…

DEV.LAB授業動画より

また、ループカウンタの注意点として、授業内で挙げられていたのは
名前は自由だが、一般的にはi, j, l などの1文字のアルファベットを使用した方がいいとのことです。変数名の時は意味を持たせたほうがいいですが、ループカウンタについては指定する暗黙のルールみたいなのがあるみたいです。また、For文のブロック内では使えますが、ブロック外では使用できません。ループ文をつけるとループカウンタは消滅してしまいます。

拡張For文

拡張for文とは、配列などの要素を先頭から順番に取り出して要素数文繰り返す構文です。ループ文よりも短くなって簡単にコーディングができます。
注意点としては拡張for文では配列型などのオブジェクトを使用して繰り返す場合のみになるので、変数名のところでは初期化をせず、宣言だけを行って条件も変化式もなくなっています。

DEV.LAB授業動画より

拡張for文のサンプルコードは下記になります。

DEV.LAB授業動画より

拡張for文では通常のループ文でも同じようにコーディングすることができるので、無理に使わなくても大丈夫とのことです。コーティングは長くなってしまいますが、まずは通常のループ分に慣れてから、拡張for文を使っていくことをおすすめされています。

While文

次に、While文についてです。
While文を使用するタイミングは、指定した条件の間、trueの間回数を繰り返す時に使用します。

DEV.LAB授業動画より

While文ではループカウンタに対して処理を行わないといけません。
繰り返しと同時に条件に当たる変数の値を変化させないと、繰り返し文はずっと繰り返していくことになるそうです。

DEV.LAB授業動画より

下記がwhile文の例になります。

DEV.LAB授業動画より

While文の注意点として、While文では無限ループが起こりやすいということで、無限ループが起きてしまうとPC内のCPUやメモリに大きな負荷がかかってしまい、システムダウンを起こしてしまうので注意してコーティングをする必要があるとのことです。

do-while文

最後に、do-while文についてです。
do-while文は、ほぼwhile文と同じでで、最初の1回は必ず繰り返し処理を行い、その後、条件の評価を、繰り返し処理の後にwhile文がきます。

DEV.LAB授業動画より

下記がdo-while文の例になります。
do-while文では、最初の地点で3つ目の信号にいたとしても、必ず1回は処理を実行し、4つ目の信号まで歩くことを忘れないようにします。

DEV.LAB授業動画より

処理の流れの変更

処理の流れを変更するのに、2つの方法を紹介されています。
まずはbreak文[break;] についてです。
処理を強制的に中断させることができます。(繰り返しやswitch文などでよく使われる)
ネストしている場合、そのbreak文があるブロックのみ中断します。

2つ目は continue文[continue;] です。
continue文では、実行中の繰り返し処理の途中で、残りの処理を行わずに次の繰り返しに移行することができます。

制御文のまとめ


いつどのタイミングで繰り返し文を使えばいいか、まだまだ私自身曖昧なところがあるので、下記のようにまとめてみました。

画像2

終わりに


授業動画を通して一つの例を繰り返し使ってくださるので、それぞれの文を比較して区別ができるので、それぞれの文の特徴がわかりやすくなっています。
第4章・5章でつまずいてしまう生徒さんが多いと聞いて、確かにそうだなと思いました。e-ラーニングの方でもお題が出されて自分でどんどんコーティングをする必要があります。ただ、自分でコーディングをすることで、コーディングをすることに慣れ、答えは1つではないため試行錯誤して色々なコーディングの仕方を学ぶことで、プログラミングの考え方も徐々に身についていっていると感じました。

私が通っているDEV.LAB(ディラボ)とは…
”一生使えるスキルを学ぶ”ことができる 未経験から現場での活躍を目指す
超実践OJT開発型をおこなっているプログラミングスクールです。
Java × Springを現役エンジニアから学ぶことができ充実したサポートもあります。

画像3


この記事が気に入ったらサポートをしてみませんか?