whileで繰り返し処理をしてみよう

こんにちは、めのんです!

今回はwhileを使った繰り返しの処理を見ていきます。
こういった繰り返しのことを「ループ」といいます。

whileの基本

whileは指定した条件が満たされる間、何らかの処理を繰り返します。
まずは実際のコードを見ていきましょう。

最初にint型の変数「i」を用意して初期値を0にします。
そのあとのwhileでは、iが10より小さい間、波括弧内の処理を繰り返すようになっています。

波括弧内の処理は、とりあえずiの値を出力することにしましょう。
最後にiをインクリメントして1ずつ増やします。

それではこれをコンパイルして実行してみます。

何が起きているのか、順を追ってみていきます。

最初、変数iの値は0ですので、i < 10の条件を満たしていますから波括弧内の処理が実行されます。
iの値が出力されて、インクリメントされた結果iの値は1になります。

次にまたi < 10を判定しますが、まだ条件を満たしていますので、また波括弧内が実行されます。

これをどんどん繰り返して、変数iが10になったとき、やっと条件を満たさなくなって繰り返しは終了します。
直前の9まで出力されていますので、0から9が順に出力されたことになります。

doの基本

whileによく似た構文でdoというのもあります。
こちらも見ていきましょう。

ご覧のように条件をあとに書いています。
doも先ほどのwhileと似た流れになるのですが、とりあえず実行してみましょう。

はい、やはり同じように0から9が順番に出力されました。

whileとdoの違いは判定を行う位置です。
doでは判定をあとに行いますので、必ず1回は波括弧の中が実行されることになります。

たとえば、変数iの初期値を100に変えてそれぞれ実行してみましょう。

まずはwhileからです。

whileの場合は最初から条件を満たさないので何も出力されていません。

次にdoを見ていきます。

今度は条件判定があとですので、とりあえず1回は出力されています。
実行結果を見ると100だけ出力されているのがわかるかと思います。

条件で変数を宣言する

ifと同じように、whileの条件でも変数を宣言することができます。

実行結果も見てみましょう。

一方でdoの場合は、最後のwhileの中で変数を宣言することはできません。
試しに書いてみると、

このようにコンパイルエラーになってしまいました。


今回はwhileとdoによる繰り返して見てきました。
どちらも使いこなせるようにしておいてください。