Part7: ループ

ことり「今回は、分岐と並ぶプログラミングの基本要素、ループを見ていきます」

ことり「Kotlinのループはforwhileがあります。forはオブジェクトの集合に対する繰り返し、whileは条件に基づく繰り返し、ってとこかな」
凛「オブジェクトの集合・・・?」
ことり「ちょっと抽象的でわかりにくいかな。配列なんかもそうなんだけど、特定の要件を満たしたオブジェクトの集合はforで列挙して処理できる、っていうのがあって・・・」
凛「ますますわかんなくなったにゃ・・・」
ことり「ここは、一旦聞き流しても大丈夫なんだけど・・・iteratornexthasNextの3つの関数を持つオブジェクトは、forで処理できるの」

25
true
25
true
2
false

ことり「こうやって中身を取り出せるようになってる場合は、forでくるくるできるんです」

ことり「順番が前後しちゃったけど、forの書き方を見てみるね」

25
25
2

ことり「今回は{}付きで書いたけど、ここはifと同じで、1文であれば{}なしで書けるよ」
凛「凛は{}付ける派にゃ」

ことり「ループの最中にインデックスがほしい場合あるよね。そういう場合の書き方もあります」

0
25
1
25
2
2

ことり「これはインデックスだけを取る書き方だけど、値とインデックスを同時に取る方法もあります」

0
25
1
25
2
2

凛「型にはうるさいけど、こういうところは結構柔軟なんだね」


ことり「whileはもっとシンプル。何かの条件を満たす間繰り返し続けるの」

Super LOVE=Super LIVE!
Super LOVE=Super LIVE!
Super LOVE=Super LIVE!
Super LOVE=Super LIVE!
Super LOVE=Super LIVE!
Super LOVE=Super LIVE!
Super LOVE=Super LIVE!
Super LOVE=Super LIVE!
Super LOVE=Super LIVE!

凛「0~8で9回にゃ」
ことり「判定条件バグの原因になりがちだけど、forと違って何にでも使えるのがメリットです」

ことり「do-while文もあって、結果は同じなんだけど、判定をループの最初にするか最後にするかが違います。doだと最初の一回は条件にかかわらず実行されるんだ」


ことり「条件分岐とループを見てきたけど、条件が複雑になったり入れ子になったりし始めると制御が難しくなってくるよね」
凛「ループの中のループの中の分岐の中のループからうまく抜けるとか大変そうにゃ」
ことり「そのためにKotlinには、何種類かのジャンプの方法が用意されています。次回はそれを見てみましょう」
凛「夏色えがおで?」
ことり「1, 2, Jump!!」


LINEで送る
Pocket


返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です