繰り返し構文の種類と、制御構文の活用 | シラタマのAI・プログラミング旅

繰り返し構文の種類と、制御構文の活用

繰り返し構文

繰り返し構文をくだけた言い方で
while 構文

通常のwhile構文の特徴?
ブロック実行前に、条件式を評価する

条件式を評価する前に、ブロックを一回実行したい場合は何を使う?
do-while構文

do-while構文の構造?
do {ブロック} while(条件式);

ブロック実行前・後に条件判定する場合はどういう概念で言い表す?
前置判定・後置判定

一定回数までブロックを繰り返しで実行させたい場合は何文を使う?
for 文

for文の構造は?
以下⤵

for 文のパーツ3つの名称?
(初期化式;条件式;更新式;)

初期化式内の変数を何という?
ループ変数

ループ変数の役割?
何週のループ化を記録するための変数

ループ変数の注意点
スープ変数のスコープはブロック内に限られている

まとめ

今日はは2種類の繰り返し構文をゲットした。

1つ目がdo-while構文。先に一回ブロックを実行してからwhile条件を処理してもらう構文。実用場面でいうとたとえば、先に一回パスワードを入力してもらってから条件満たしているかどうかを判断することができる。

2つ目がfor文、一見とっつくにくいけど俯瞰的に文全体の流れを把握できれば簡単。使う目的はブロックの実行を固定した回数で繰り返しさせたい。

まず実行回数を表す変数を1つ作っとく。次に何回までという(<何回)条件式を書いとく。そして、一回実行したら変数を整数1つ分大きくなるように更新式を書いとく。それだけ、それでブロックを何回まで繰り返し実行するのかを指令できる。

例えばブロックを10回繰り返し実行させたい場合。まず実行回数を表す変数iを作る。最初はiを1として決める。10回ブロック処理を繰り返しさせたいので変数iの最大値は10になる、だから条件式は i<=10またはi<11になる(iが整数の場合、両方の式の最大値はともに10)。最後にiが10になるまでに一回づつブロックを処理してもらえるように(1週目終わったら2週目、2週目終わったら3週目)一回ブロック処理したら変数は+1に更新できるように書いとく、つまりi++という更新式を足しとく。これで完了。

まったく、すごいなfor構文は。 今日のJava勉強はここまでだ。

(制御構文の活用の勉強は来週の余った時間に補足)

制御構文の応用

分岐中の分岐や、繰り返し中の分岐のような多重構造を何という?
入れ子、またはネスト

繰り返し中の繰り返し(for文中にfor文という多重構造)を使って九九をどう表す?
 for (整数iを1から9まで繰り返しさせる )
 {デッカイブロック命令:for(整数jを1から9まで繰り返しさせる) 小さいブロック命令2⃣{1、 iとjをかけさせる 2,空白出力} ②改行}

※原理の説明
1週目のとき:iが1、iを jの9通りと掛けさせる。
「表示方:jが1の場合の結果 空白 jが2の場合の結果 ・・・jが9の場合の結果」
(これが1週目)
2週目のとき:iが2、iを jの9通りと順に掛けさせる。
「表示方はjが1の場合の結果 空白 jが2の場合の結果 ・・・jが9の場合の結果」
(これが2週目)
・・・
9週目のとき:iが9、iを jの9通りと順に掛けさせる。
「表示方はjが1の場合の結果 空白 jが2の場合の結果 ・・・jが9の場合の結果」
(これが2週目)

繰り返しの途中、ある状況になったら中断させたい場合何を入れる?
ブロックの中にbreak文をいれる

繰り返しの途中、ある状況になったら中断させたい場合何を入れる?
continue文をいれる


コメント

タイトルとURLをコピーしました