
う~ん前回やったListだけど、うまく使いこなせていない気がする~。



どうしたの?



ちょっと見てみて~。





いい感じでリストを使えてるじゃない!



でもこれだと買うものが10、20と増えたら表示するだけで大変じゃない?私買い物大好きっこだからさ。



それは知らないけど、この場合はループ処理を使えば簡単にその問題は解決するよ!



なんだと~そのループ処理とやらを教えて~!
今回は繰り返しを行うループ処理のwhile文について解説していきます!
前回のDart入門記事はこちら!


繰り返しはプログラムの処理のひとつ!



プログラムは順次・分岐・繰り返しからできていることは知っているかな?



もちのろんでございます!
プログラムが順次・分岐・繰り返しでできている、ということについてはこちらの記事をご覧ください!
今回解説するwhile文はこの中の繰り返しにあたる構文になります。それでは書き方を見ていきましょう!
【Dart】while文の書き方・使い方
while文は〇〇の間、△△の処理を繰り返す、というものです。



どういうことなのかな?
例えば変数aが10以下の場合は、〇〇という処理を行い続ける、といったものです。
実際に書き方を見てみましょう。
while(条件式){
繰り返す処理
}
条件式が満たす間、つまりTrueの間は中かっこのブロックの中を繰り返します。
条件を満たさなくなったら中の処理は実行せず繰り返し処理は終了し、次の処理へ進みます。



具体例を挙げてみようか!
具体的に書いてみるとこのようになります。


まず変数aの初期値は0です。その状態でwhile文に差し掛かります。
条件式は「a<=10」となっているので、aが10以下の間はブロックの中の処理を繰り返します。
繰り返す処理は変数aの中身を表示し、aをインクリメント(1ずつ増やす)しています。
1周目のはじめはaは0でしたが、インクリメントがあるので終わるころにはaは1になっています。while文の一番下まで処理が進んだらもう一度条件式を評価します。まだaは10以下なので中の処理を行います。
これを繰り返して、aが11になったとき条件を満たさなくなったので繰り返し処理を終えます。
結果は以下のようになります。


無限ループに気をつけよう!



インクリメントは必ず必要なの?



インクリメントが必要、というと語弊があるんだけど、必ず最終的にループを抜けるような処理をしておかないといけないんだ。もしそのような処理がない場合どうなると思う?



永遠にループを抜けない無限地獄だぁ~!
while文などのループ処理を使う際に気を付けなければならないのが無限ループです。
無限ループは繰り返し処理を抜けることができず、延々と中野処理を繰り返しプログラムが終了できない状態です。
こうならないように気を付けましょう。
while文でリストを操作してみよう!



それじゃあ演習だ!リストの中身を表示してみよう!



任せておけぃ!





はぁ…はぁ…1時間かかった…。
結果はこうなります。





よくできたね!
実際はforEachメソッドというのを使えばwhile文は使う必要はないんだけど、それについてはまた別の記事で話すね!



最初からそれ教えてくれればいいんでない?



こ、今回はwhile文の練習だからね…。
while文で同じ処理をまとめてしまおう!



う~んwhile文を使えばたくさん同じ処理をしたい時もすっきり書けるね!



繰り返し処理はプログラムの構造の重要な部分だからしっかり理解してね!次は同じ繰り返し処理のfor文を学んでいこう!



ふぉー!
■参考文献
コメント