Java 速習チュートリアル

Java のdo-while文

1. do-while文の基本

do-while ループは、while ループのバリエーションの一つです。このループの最大の特徴は、条件が true(真)であるかどうかをチェックする前に、まずコードブロックを 1回実行する という点にあります。その後、条件が true である限り、ループが繰り返されます。

1.1 基本構文 (Syntax)

do {
  // 実行されるコードブロック
}
while (条件);

       注意: while(条件) の後の セミコロン(; は必須です!書き忘れに注意しましょう。

2. do-while文の実装例

以下の例は、基本的な do-while ループの使用法です。たとえ条件が最初から false であっても、条件がテストされる前にコードブロックが実行されるため、ループは必ず少なくとも1回は実行されます。

2.1 基本的なコード例

int i = 0;
do {
  System.out.println(i);
  i++;
} while (i < 5);

ポイント: 条件に使用している変数(この場合は i)を更新する処理(i++)を忘れないようにしてください。これを忘れると、ループが終了しない「無限ループ」が発生してしまいます。

3. 開始時に条件が false である場合の挙動

while ループのチャプターで学んだように、通常の while ループでは開始時点で条件が false であれば、ループは一度も実行されません。

しかし、do-while ループは異なります。条件が最初から false であっても、少なくとも1回は必ず コードブロックが実行されます。

以下の例では、変数 i10 からスタートしているため、条件式 i < 5 は最初から false です。それでも、条件チェックの前に一度だけループ内の処理が実行されます。

3.1 条件が最初から偽の場合のコード例

int i = 10;
do {
  System.out.println("i の値は " + i + " です");
  i++;
} while (i < 5);

実行結果:

i の値は 10 です

4. まとめ:while文とdo-while文の違い

do-while ループは、開始時に条件が偽であっても必ず少なくとも1回は実行されます。これが、同じ状況でコードブロックを完全にスキップする while ループとの決定的な違いです。

この挙動により、do-while は「まずメッセージを表示したい」「まずユーザーに入力を促したい」といった、最低1回は何らかのアクションを発生させたい シナリオで非常に有用です。