
今回は
というテーマでお送りします。
前回は while文を学びましたね。
基本パターンのプログラミングはOKですか?
今回は、for文を学んでいきましょう。
それから、変数のスコープについても お伝えしていきます。
今回も、一歩前進していきましょうね。

とっても楽しみです。よろしくお願いします。

繰り返し処理を考えています。今回も、頑張りますっ!

【Youtube版】
Youtubeでもお伝えしていますので
是非チェックしてくださいね。
【1】for文

① 繰り返し基本パターン
前回、繰り返しの基本パターンを学びましたね。
このようなものでした。
フローチャートで 見てみましょう。

左側が、基本パターンです。
右側は、0 から 2 までを表示する「例」です。
まずは、初期化式を 記述します。
ここでは、条件の対象となる変数の 初期化などを行います。
例では、0, 1, 2 と表示するカウンタ(変数 cnt)に
0 を設定しています。

そして条件式。
ここでは、繰り返しの 継続条件 の判定を行います。
例では、cnt < 3 を指定して
0, 1, 2 の範囲で 実行するようにしています。

true であれば、継続です。
フローチャートでは 下 に進んで継続します。
false になったら、右側から繰り返しを抜けて
次の処理に進んでいきます。

処理の部分には、繰り返し実行したい処理を 書きます。
複数の処理を 実行することができます。
例では、シンプルに cnt を表示する事にしています。

そして、条件変化式 です。
次の 条件 の判断の前に、対象となる値の変化を記述します。
例では、1 ずつ加算して進めるので
インクリメント演算子で cnt に 1 を足しています。

そして繰り返し処理 「 1回分 」 が終わったら
条件式の直前に戻って、再度 条件式で継続の判断をします。

基本パターン、何となく思い出しましたか?
② for文とは
✅ 初期化式・条件式・条件変化式を
セットで記述する。
✅ 条件式が true の間 ブロックを
実行する。
for 文は、キーワード for の後に 丸括弧を書いて
その中に3つの要素を ; セミコロンで 区切って書きます。
3つの要素は、左から順に…
初期化式、条件式、条件変化式 です。

for 文では、最初に 初期化式 を1回だけ実行し
次に条件式で 継続の判断をします。

true であれば
丸括弧の後に書いたブロックを実行します。

そして、ブロックを 1回実行した後には
条件変化式 を実行します。

続いて、再度 条件式 で継続の判断をします。

trueであれば、ブロックを実行し
ブロックの終端に達したら、条件変化式を 実行します。
そして、また 条件式 で継続の判断をします。
これを繰り返していって、条件式が false になったら
ブロックを抜けることに なるのです。


丸括弧の中に並べて書くのですね。
そして、その区切りは セミコロンですね…。
ノートにしっかり書いておきました。

プログラムがスッキリするように思います。
早速、使ってみたくなりました。
③ for文の例
先程の、0, 1, 2 を表示する例題を for 文で書くと
このようになります。
右側の赤枠で囲んだ部分が、for文です。次のコーナーで
フローチャートとの対応を 見ていきましょう。

④ フローチャートとの対応
それでは、順に見ていきましょう。
まず、初期化式として cnt = 0 。
for文では、丸括弧の中の1番目の要素に書きます。

次に繰り返し「継続」判断のひし型の中の cnt < 3 。
これは、for文の 2番目の要素に書きます。
1番目 の要素の後に ; セミコロンを書いて、その後に書きます。

丸括弧の中の 3番目 の要素はのちほど説明します。
そして、丸括弧の後には ブロック を記述します。
このブロックの範囲は、繰り返しの中で実行する処理のうち
条件変化式 を除いた部分になります。
この場合には cnt++ を除いた部分です。

次に、繰り返しの中で実行する処理「cntを表示」。
今回は System.out.println を使って
“回数:” に続けて表示しています。
繰り返しの処理は複数文を記述する事ができますが
今回は、シンプルに1行のみとしています。

そして、フローチャートで考えた時には
この後に、条件変化式を実行して…
続いて、左側から条件式の直前に戻る線を
書いていましたね。
for 文の場合には、ブロックの終端に達したら
条件変化式 を実行してから、条件式 で継続の判断をします。
ここで、条件変化式 は for 文の丸括弧の 3 つ目の要素です。
この場合、cnt++ ですね。

そして最終的に、条件式が false になったところで
for 文から抜けることとなります。

このように、for の丸括弧の中には
初期化式・条件式・条件変化式 がセットになっているので…
基本パターンを意識して
見やすくプログラムを書くことができるのです。
特に for文は、回数指定をして処理を記述したい場合に
良く使われる構文です。
⑤ 処理の流れと変数の値
先程の例の 処理の流れと 変数の値の変化も
見ておきましょう。
for 文に入ると、1回だけ 初期化式を実行します。
cnt を 0 で初期化しています。
そして、条件式 で継続の判断をします。
cnt は 0 で 条件式 cnt < 3 は true ですね。
ですので for文 のブロックを実行します。

ブロック内の処理で、”回数:”と cnt の値を
文字列連結して「回数:0」と表示します。

for文では、ブロックの終端に達したので…
for文の丸括弧の 3番目 の要素に戻って
条件変化式 を実行します。
0, 1, 2 と順に処理するために cnt に 1 を足します。
cnt の値は 0 から 1 に変わります。

そして、次に条件式で「継続」の判断をします。
cnt は 1 で 条件式 cnt < 3 は true ですね。

ですので for文 のブロックに入って処理を行います。
今度は、回数:1 と表示します。
ブロックの終端に達したので、条件変化式 を実行。
cnt に 1 を足します。cnt の値は 1 から 2 に変わります。
そして、条件式で継続の判断です。
cnt は 2 で 条件式 cnt < 3 は true。
処理を行って、回数:2 を表示します。
ブロックの終端に達したので、条件変化式 を実行し
cnt の値は 2 から 3 に変化します。
また、条件式で継続の判断です。
cnt は 3 で 条件式 cnt < 3 は false ですね。

ここで、繰り返し処理を抜けて、for ブロックの
次の行に 進むこととなります。

結果的に、処理は「回数:0」 の表示、「回数:1」 の表示
「回数:2」 の表示、と 3 回 実行される事となります。
このように、for文の「継続」判断の流れを考える時に
変数の値の変化をイメージすると理解が深まりそうですね。

本当に大切ですね。

整理してみる事も良いですね。チャレンジしていきます!
【2】変数のスコープ

✅ 変数は、宣言したブロックの中で
使用する事ができる。
for 文の場合を 考えると…
丸括弧の中の 初期化式 で宣言した変数は
for文の ブロックの中だけで使用可能になります。
ですので、今回の例の cnt のスコープは
for文のブロックの中 という事になります。

for文のブロックを抜けた後に、cnt を使おうとすると
コンパイル時にエラーが出ます。

この事も、覚えておきましょうね。

変数のスコープについても、理解しました。
随分と書けるプログラムの幅も広くなった気がします。

どんどん、プログラムを書いていきますよ!
【まとめ】

●繰り返し(2):fore文・ループ・変数のスコープ
・ 初期化式・条件式・条件変化式を
セットで記述する。
・ 条件式が true の間 ブロックを
実行する。
・ 変数は、宣言したブロックの中で
使用する事ができる。
今回も、ご覧いただき、ありがとうございます。