はじめに
Java でプログラムを書き始めると、必ず直面するのが「繰り返し処理をどう書くか」という問題です。「for 文と while 文って何が違うの?」「書き方のイメージがつかない…」「無限ループが怖い」──こんな悩みを持つ方も多いのではないでしょうか。
この記事では、特に初心者がつまずきやすい while 文 を、できるだけ分かりやすく丁寧に解説していきます。基本の構文から具体例、気をつけるポイントまで順番に見ていくことで、読み終わる頃には「while 文って意外とシンプルだな」と感じられるはずです。
while 文とは?
while 文とは、Java において「条件が true(真)である間、同じ処理を何度も繰り返す」ための構文です。
例えば、「数値が 10 未満のあいだ処理を続けたい」といったように、いつ終わるかが明確に決まっていないケースに向いています。
同じ繰り返し処理でも、for 文は「回数が決まっている」場合に使うことが多く、while 文は「条件が整うまで続けたい」場合に使うのが一般的です。
このように、目的に応じて使い分けることで、コードがよりシンプルで読みやすくなります。
while 文の具体例
ここでは、実際のコードを見ながら while 文がどのように動くのかを確認していきます。まずは、最も基本的な「カウンターを使った繰り返し処理」の例です。
int i = 1; // ★カウンター用の変数を準備
while (i <= 5) { // ★条件式:i が 5 以下の間は繰り返す
System.out.println(i); // ① 現在の i を表示
i++; // ② i を 1 ずつ増やす(これがないと終わらない)
}
● このコードの流れ
- 最初に
iに 1 をセット i <= 5が true なので中の処理を実行iを 1 増やす- 再び条件を確認し、true なら続ける
iが 6 になったタイミングで条件が false になりループ終了
● 実行結果
1
2
3
4
5
この例からわかるように、while 文では 「条件式が true のあいだ繰り返し続ける」 という仕組みになっています。
特に初心者が注意したいポイントは、「ループを終わらせるための変数更新」が必要ということです。これが抜けると、次に説明する「無限ループ」が起きてしまいます。
無限ループになる典型例と防ぎ方
while 文を使うときに最も注意したいのが 無限ループ です。条件がずっと true のまま変わらないと、プログラムが永久に止まらなくなります。
無限ループの典型例
int i = 1;
while (i <= 5) {
System.out.println(i);
// ★i を増やしていないため、条件が永遠に true のまま!
}
このコードでは i がずっと 1 のまま変化しないため、i <= 5 は永遠に true のままです。
結果として、同じ処理が終わらず延々と繰り返されてしまいます。
無限ループを防ぐポイント
- カウンター変数を必ず更新する
i++やi--を忘れないようにする。 - 条件式がいつ false になるかをイメージする
「この値はどこで変化する?」「いつ条件が変わる?」と考えるクセをつける。 - 必要に応じて break を使う
条件が複雑になると、意図しない無限ループになりやすい場合があります。
そのときは途中で脱出できるようにしておくと安全です。
while (true) {
int input = scanner.nextInt();
if (input == 0) {
break; // ★条件が満たされたらループを強制終了
}
}
for 文との使い分けまとめ
Java には while 文だけでなく、繰り返し処理を行うための構文として for 文 もよく使われます。どちらも同じ処理を繰り返せますが、特徴が異なるため、状況に応じて使い分けるとコードが分かりやすくなります。
for 文が向いているケース
- 繰り返す回数があらかじめ決まっているとき
例:10 回ループする、配列の要素数分だけ繰り返す - カウンターの初期化・条件・増減が1行でまとまるため、スッキリ書ける
for (int i = 0; i < 10; i++) {
System.out.println(i);
}
while 文が向いているケース
- 繰り返しの回数が決まっていないとき
例:ユーザー入力が「0」になるまで処理を続ける - 「特定の条件が満たされるまで続けたい」というような柔軟な繰り返しに適している
int input = -1;
while (input != 0) {
input = scanner.nextInt();
}
迷ったときの判断基準
- 回数で繰り返したい → for 文
- 条件が整うまで続けたい → while 文
このシンプルな基準を覚えておけば、自然と使い分けられるようになります。
まとめ
まとめ
while 文は、条件が true のあいだ処理を繰り返すというシンプルな構文です。回数が決まっていない繰り返しに向いており、基本的な使い方を理解しておくとさまざまな場面で役立ちます。
この記事では、基本構文、具体例、無限ループに陥りやすいポイント、そして for 文との使い分けを紹介してきました。特に while 文では、条件が変化するしくみを意識することが大切です。
コードを書いて何度か動かしてみれば、繰り返し処理の流れが自然とつかめるようになります。ぜひ、実際に手を動かしながら while 文の動きを理解していきましょう。
語録集
変数(へんすう)
データ(数値や文字)を入れておく“箱”のようなもの。
Java では使う前に必ず型とセットで宣言する必要がある。
例:int i = 1;
条件式(じょうけんしき)
i <= 5 のように「true か false を返す式」のこと。
while 文では、この条件式が true のあいだだけ繰り返しが続く。
無限ループ(むげんループ)
ループを抜ける条件が永遠に false にならず、処理が終わらなくなる状態。
例:変数の更新を忘れたときに起こりやすい。
カウンター変数
繰り返しの回数を数えるための変数。
例:i++ のように値を増やすことでループが終わる目安になる。
インクリメント(i++)
変数の値を「1 増やす」操作のこと。i = i + 1 と同じ意味。
while 文では忘れると無限ループの原因になる。
デクリメント(i–)
変数の値を「1 減らす」操作のこと。
こちらも条件式とセットで考えないと無限ループになる。
ブロック({} の部分)
中括弧 { } に囲われた範囲のこと。
while 文では、このブロック内の処理が繰り返し実行される。
true / false(真偽値)
条件式が返す値。
- true → 条件が「成り立つ」
- false → 条件が「成り立たない」
while 文では true なら続き、false でループ終了。
do-while 文
while 文と似ているが、
「最低 1 回は必ず実行される」という特徴がある繰り返し構文。
break(ブレーク)
ループを途中で強制的に抜けるためのキーワード。
条件が複雑な while 文では脱出手段としてよく使われる。
continue(コンティニュー)
ループの残りの処理をスキップして、次のループに進む命令。
使いすぎるとコードが読みにくくなるため注意。
初期化(しょきか)
変数に最初の値を入れること。
例:int i = 0;
正しく初期化しないと、ループ条件が想定外になりバグの原因に。
ロジック
プログラムの「考え方」「処理の流れ」のこと。
while 文では、条件式と変数更新のロジックが特に重要。

コメント