Processing プログラミング 初心者向け

繰り返し処理の応用!多重ループとループ操作!

今回やること

こんにちは!
今回は、多重ループや繰り返し処理を柔軟に行う方法をご紹介します!

今回のポイント

今回のポイントは以下の3点です!

  • 多重ループ
  • break
  • continue
投稿主
投稿主

少ないですがどれも奥が深いです!
一緒に見ていきましょう!

多重ループ

多重ループとは?

多重ループとは、繰り返し処理の中で繰り返し処理を行うことの総称です。
繰り返し処理の中に繰り返し処理があるものを特に二重ループ
二重ループの中にさらに繰り返し処理があるものを三重ループと呼んだりもします。

具体例を見ていきましょう!

二重ループの具体例

以下は九九の表を生成するために二重ループで実装している例です。

for文の中にfor文があります。このような形を多重ループと言います。(この場合は二重ループ)
処理としては、内側のfor文を外側のfor文で繰り返している形です。

プログラムは上から実行されるので、まず外側の a についてのfor文が実行されます。
for文は{ } 内の処理を繰り返すので、
まず、a = 1で、 bについてのfor文を繰り返す。
次に、a = 2で、 bについてのfor文を新しく繰り返す。
...
最後、a = 9で、 bについてのfor文を新しく繰り返す。
という処理になります。

なので、上の二重ループでの(a,b)の値の推移は以下のようになります。
(1,1)->(1,2)->...(1,9)
->(2,1)->(2,2)->...(2,9)
->(3,1)->(3,2)->...(3,9)
->..................->(9,8)->(9,9)

一つのループだけだと、作成するのが難しいものでも、
二つ以上のループを使用すると簡単に作成できるものも多いです。

ループ操作

もっと柔軟にループ処理を扱いたい!

ループの途中で処理を終わらせたい。」「ループで特定の場合だけ処理を飛ばしたい
など、処理したい場合があります。
例えば、九九の表だと、「5の段までの出力でいい」「3の段だけは飛ばしたい」などです。

そんな時に使える便利な機能が、breakcontinue です。

一つずつご紹介します!

break

break は、「途中でループを終わらせたい!」という時に使うフレーズです。
早速、具体例を見てみましょう!

左の図は、aが5の時、breakをするようにしています。
すると、aが6以降の時は処理されていません

つまり、aが5の時、bについてのfor文の処理が終わった後、break文でforループの途中でfor文を抜けているのです。

対して、右の図は、aが5の時にbreakをするようにしていますが、bについてのfor文の中でbreak文を記載しています。
すると、bが6以降の時は処理されずaについてのループは処理され続けています

つまり、bが5の時、内側のforループのみを途中で抜けていることになります。

まとめると、break文は今処理されている1つのループを途中で抜ける動作をします。
内側のループ内でbreakした場合、内側のループだけ中断し、外側は今まで通り繰り返すことになります。

これがbreakの基本的な仕様です。
forループを例に挙げましたが、whileループでもbreakは同じように機能します。

continue

continueは「ループの次のサイクルにすぐ移動する」という処理になります。
具体例を見てみましょう!

左の図は、aが5の時、continueしています。
すると、aが5の時の処理のみが丸々スキップされていることがわかります。

つまり、aが5の時はcontinue文より下の処理をせずに、次のサイクルに進んでいます。

対して右の図は、bが5の時、continueしています。
すると、bが5の時の処理のみが丸々スキップされていますね。

つまり、bが5の時はcontinue文より下の処理をせずに、次のサイクルに進んでいます。
今繰り返しているループでの処理をとばしています。

まとめると、continueは今繰り返しているループの次のサイクルに移動する処理になります。
特定の処理を飛ばしたい場合などに有効な書き方です。
continueもwhile文でも同様の動作をします。

まとめ

いかがでしたでしょうか?
多重ループでしかできない処理や、ループを柔軟に動かす方法が学べたでしょうか?

では、今回のポイントのおさらいをしましょう!

今回のポイントまとめ

  • 多重ループは、ループの中でさらにループをする
  • break文で、今実行しているループを1つ抜け出す
  • continue文で、今実行しているループのサイクルを終了して、次のサイクルへ

お疲れ様でした!

これで繰り返し処理のお話は一旦終了です!
繰り返し処理こそプログラムの最強のツールなので、うまく使いこなせるようになりましょう!

投稿主
投稿主

Take It easy!
お疲れ様でした!

  • この記事を書いた人
  • 最新記事
投稿主

TAKE

こんにちは!ITエンジニアのTAKEです!
20代前半。社会人2年目です!
このブログは
「Take it easy!Take IT Breezy!」
をテーマにして 初学者でも気軽に読めるように
IT関連の情報を展開しています!

-Processing, プログラミング, 初心者向け