ハジカラ 〜はじめからでも、プログラミング勉強〜

入門向けに、IT関連(javaやKotlin)をコツコツ書いたり検証したりします。

【Kotlin入門】forの応用編(繰り返しの中断)

calendar

reload

【Kotlin入門】forの応用編(繰り返しの中断)

こんにちは。

今回は、for文が繰り返される処理の中断を行うロジックを
みていきます。
例えば、for文の中でif文を使って処理を中断することも
できますが、いくつか中断する関数があるので今回はそれを
使っていきます😀

まずは、「continue」を使ってみましょう。
以下のロジックは、for文で、1から10を一つずつセットして
処理をしています。
if文を使用して、条件に一致すれば(余りが0でなければ)、
「continue」を使用して
15行目を飛ばし、5行目に処理を持って行っています。

↓ 実行すると・・・。
  1から10まで実行して、余りがある場合に処理を変えています。
制御文応用2

次は、「break」をみてみましょう。
同じく、1から10までセットしますが、「break」が呼ばれた
時点でfor文の処理自体を終了させています。
分かりやすいように、15行目のコメントを足しています。

↓ 実行すると、3で割り切れなくなるので、その時点でfor文を
  抜けています。制御文応用3

次は、「return」をみてみます。
「return」の場合は、呼ばれた時点でその関数内の処理
自体を終了させます。

↓ 実行してみると、18行目のコメントさえ出力されていません。
  「return」が呼ばれた時点で、その関数の処理を終了
  しています👽
  もしこの関数がどこかで呼ばれた関数であれば、
  その呼び出し元の関数に処理を戻します。制御文応用4

最後は、「ラベル」をみてみます。
for文を二つ以上使用する場合、一気にその複数のfor文の処理を
抜ける場合に使います。
以下は、まずラベルを使用していない例です。

↓ 実行します😄
  1番目のfor文10の場合、2番目のfor文1と2と3
  1番目のfor文11の場合、2番目のfor文1と2
      1番目のfor文12の場合、2番目のfor文1と2と3と4と5
と出力しています。
2番目のfor文は、「break」で処理を終了してますが、
1番目のfor文では処理は継続しています。
制御文応用5

では、ラベルを使ってみましょう。
使い方は、for文の前に「***@」と書き、「break」の前に「@***」
と書きます。
「***」は同一名称である必要があります。
これで、「@***」が呼ばれたら、「***@」に処理が移動します✌

↓ 実行すると、最初に「break」が呼ばれた時点で、
  2番目のfor文だけでなく1番目のfor文も中断させて
  いるのが分かります。
制御文応用6

一概に処理を中断すると言っても、その目的や後処理に応じて
使い分けができますね👌

今日はここまで🤚

では、また次回。

 

【Kotlin入門一覧はこちら】