do-while文とは
Javaのdo-while文は、ある条件がtrueの場合に繰り返し実行する制御文です。
まず処理を実行してから、条件式を評価します。
do-while文の基本的な書き方
do-while文の基本的な書き方は、以下のようになります。
do-while文の処理の流れ
- 最初に、doブロック内の処理が1回実行されます。
- 条件式が評価され、その結果がtrueの場合、処理が繰り返されます。
- 条件式がfalseの場合、do-while文の実行が終了します。
do-while文の特徴
- 条件式を最後に評価するため、最低でも1回は処理が実行されます。
- 条件式がtrueの場合、処理が繰り返されます。
- 条件式がfalseの場合でも、doブロック内の処理は最低1回は実行されます。
while文を使用する例
1から10までの整数を順番に表示するプログラムを作成します。
public class Sample {
public static void main(String[] args) {
int i = 1;
do {
System.out.println(i);
i++;
} while (i < 10);
}
}
- int i = 1;という行で、整数型の変数iを1で初期化しています。
- do-while文を使って、iが10以下の間、以下の処理を繰り返します。
- System.out.println(i);:現在のiの値を表示します。
- i++;:iの値を1増やします。
- iが10以下の間、3,4の処理を繰り返します。
do-while文は、while文と同様に条件式がtrueの場合に処理を繰り返しますが、最初の1回だけは条件式の評価を行わずに必ず1回処理を実行します。
そのため、条件式がfalseの場合でも、必ず1回は数字を表示します。
do-while文とwhile文の違い
Javaにおいて、ループ処理を行う方法として、while文とdo-while文があります。
二つの文の最大の違いは、条件判定のタイミングです。
while文はループを実行する前に条件式が評価されますが、do-while文はループの実行後に条件式が評価されます。
つまり、do-while文は最低でも一度はループの中身が実行されるということです。
例えば、以下のようなwhile文のプログラムを考えます。
public class Sample {
public static void main(String[] args) {
int i = 10;
while (i < 10) {
System.out.println(i);
i++;
}
}
}
このプログラムは、条件式 i < 10
が最初の段階で false になるため、一度もループの中身が実行されません。
しかし、同じ処理をdo-while文で書くと、以下のようになります。
public class Sample {
public static void main(String[] args) {
int i = 10;
do {
System.out.println(i);
i++;
} while (i < 10);
}
}
このプログラムは、条件式が最初にfalseでも一度はループが実行され、1回目のループの後に条件式が評価されます。
よって、このプログラムは i が 10 であるというメッセージを一度だけ表示します。
どちらを使うべき?
do-while文は、ループの中身を最低でも一度は実行したい場合に有用です。
例えば、利用者に入力を促し、入力された値が条件を満たしているかどうかを確認する必要がある場合には、do-while文が便利です。
一方、while文は、条件を事前に確認したい場合に適しています。
例えば、ある数が特定の範囲に収まるまで、何度も数値を入力させるプログラムを書く場合には、while文を使うと良いでしょう。
コメント