Javaにおけるループ文は、指定された条件が満たされる間、
あるいは指定された回数だけ処理を繰り返すための構造です。
主な種類にはforループ、whileループ、do-whileループがあります。
この記事ではjavaのループ文について解説してます!一緒に学びましょう!
Javaのループ文(for文、while文、do-while文)とは
forループ文の書き方
forループ: 初期化、条件式、更新処理を含む構造で、指定した条件が満たされる間、同じ処理を繰り返し実行する。
for (初期化式; 条件式; 更新式) {
// 条件が真の間、繰り返し実行される処理
}
この構文は、一連の処理を一定の条件が真の間、繰り返し実行するためのものです。
最初に、初期化式が実行されます。次に、条件式が評価されます。
条件式が真の場合、中括弧 {}
内の処理が実行されます。
その後、更新式が実行され、再び条件式が評価されます。
条件式が偽になるまで、このプロセスが繰り返されます。
この構文は、反復処理(ループ)を行う際に使用されます。例えば、配列の各要素を処理したり、ある範囲の数値を処理したりする際に利用されます。

繰り返し処理ってどうやってするの?



forループを使うよ。初期化、条件式、更新式を指定して、処理を繰り返すよ。
forループ 例
for (int i = 0; i < 5; i++) {
System.out.println("iの値は: " + i);
}
forループを使って0から4までの数字を順番に表示する処理を行います。
int i = 0;
: 変数i
を0で初期化します。i < 5;
: 条件式i
が5未満の間、以下の処理を繰り返します。i++
: ループの最後に変数i
を1増やします。System.out.println("iの値は: " + i);
: 現在のi
の値を表示します。+
演算子を使って文字列 “iの値は: ” と変数i
の値を連結しています。
つまり、このプログラムは0から4までの数字を順番に出力するものです。
forループ 結果
iの値は: 0
iの値は: 1
iの値は: 2
iの値は: 3
iの値は: 4
whileループ文の書き方
whileループ: 条件式が真の場合に、指定した処理を繰り返し実行する構造。条件が満たされなくなるまで続く。
while (条件) {
// 条件が真の間、繰り返し実行される処理
}
この構文は、条件が真の間、繰り返し実行される処理を提供します。
最初に、条件が評価されます。
条件が真の場合、中括弧 {}
内の処理が実行されます。
その後、再び条件が評価され、条件が偽になるまでこのプロセスが繰り返されます。
for
ループとは異なり、while
ループでは初期化式や更新式は直接提供されず、条件のみが与えられます。そのため、while
ループは条件が真である間、処理を繰り返し実行することができます。
while
ループは、ループ回数が事前にわからない場合や、特定の条件が満たされるまで処理を繰り返す必要がある場合によく使用されます。



条件を満たす限り繰り返すってこと?



そうだね。条件がtrue(真)の間はループが続くよ。
whileループ 例
int i = 0;
while (i < 5) {
System.out.println("iの値は: " + i);
i++;
}
whileループを使用しているこのプログラムも0から4までの数字を順番に表示する処理を行いますが、方法が少し異なります。
int i = 0;
: 変数i
を0で初期化します。while (i < 5) {
: 条件式i
が5未満の間、以下の処理を繰り返します。System.out.println("iの値は: " + i);
: 現在のi
の値を表示します。+
演算子を使って文字列 “iの値は: ” と変数i
の値を連結しています。i++;
: ループの最後に変数i
を1増やします。
これにより、0から4までの数字が順番に表示されます。
whileループ 結果
iの値は: 0
iの値は: 1
iの値は: 2
iの値は: 3
iの値は: 4
do-whileループ文の書き方
do-while: 最低でも1回は処理を実行し、その後条件式を評価し、条件が真の場合に繰り返し処理を行う構造。
do {
// まず1回実行され、その後条件が真の場合繰り返し実行される処理
} while (条件);
この構文は、まず一度だけ処理を実行し、その後に条件が真の場合に繰り返し実行する処理を提供します。
まず、do
ブロック内の処理が1回実行されます。
その後、while
キーワードの後に続く条件が評価されます。
条件が真の場合、do
ブロック内の処理が再度実行されます。
このプロセスは、条件が偽になるまで続きます。
do-while
ループは、最低でも1回の実行が保証されるため、特定の処理を最初に実行した後、条件に従って追加の処理を繰り返し実行する際に有用です。条件が最初から偽であっても、do
ブロック内の処理は少なくとも1回は実行されます。



do-whileループって何が違うの?



最初の1回は条件をチェックせずに必ず処理が実行されるよ。
do-while 例
int i = 0;
do {
System.out.println("iの値は: " + i);
i++;
} while (i < 5);
このプログラムも0から4までの数字を順番に表示する処理を行いますが、do-whileループを使っている点が異なります。
int i = 0;
: 変数i
を0で初期化します。do {
: 以下の処理をまず1度実行し、その後に条件式をチェックします。System.out.println("iの値は: " + i);
: 現在のi
の値を表示します。+
演算子を使って文字列 “iの値は: ” と変数i
の値を連結しています。i++;
: ループの最後に変数i
を1増やします。while (i < 5);
: 条件式i
が5未満の間、ループを続けます。
do-whileループは、条件式を最後にチェックするため、ループ内の処理が最低でも1回は実行されます。
do-whileループ 結果
iの値は: 0
iの値は: 1
iの値は: 2
iの値は: 3
iの値は: 4
Javaの制御構造のネストとブレイク(break)
Javaの制御構造のネストとは?
制御構造の中に別の制御構造を組み込むこと(for文の中にfor文など)ができます。これをネストと呼びます。



制御構造の中に別の制御構造を書けるの?



そうだよ。例えばforループの中に別のforループを書くことができるよ。
ネスト 例
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
System.out.println("i: " + i + ", j: " + j);
}
}
このコードは、Java言語でネストされた for ループを使用して書かれたプログラムです。
具体的には、0から2までの値を持つ変数 i を外側のループで使い、0から2までの値を持つ変数 j を内側のループで使っています。これにより、すべての i と j の組み合わせが表示されます。
以下がプログラムの詳細です。
for (int i = 0; i < 3; i++) {
: 外側のループ。変数 i を0から2まで1つずつ増やしながら、以下の処理を繰り返します。for (int j = 0; j < 3; j++) {
: 内側のループ。変数 j を0から2まで1つずつ増やしながら、以下の処理を繰り返します。System.out.println("i: " + i + ", j: " + j);
: 変数 i と変数 j の値を表示します。- 内側のループの終わり。
- 外側のループの終わり。
これにより、外側のループが1周するごとに内側のループが3回実行され、全体として9つの組み合わせが表示されます。
ネスト 実行結果
i: 0, j: 0
i: 0, j: 1
i: 0, j: 2
i: 1, j: 0
i: 1, j: 1
i: 1, j: 2
i: 2, j: 0
i: 2, j: 1
i: 2, j: 2
Javaのforループ文の中断(break文)



ループの途中で中断したいときはどうするの?



break文を使うよ。条件が成立したらループを抜けることができるよ。
ループ内で条件に合致した場合、そのループを中断するためにbreak文を使用します。
break文 例
for (int i = 0; i < 5; i++) {
if (i == 3) {
break;
}
System.out.println("iの値は: " + i);
}
ループの中で、条件文 if (i == 3)
を用いて i
の値が3になったときにループを終了するように設定されています。これは break;
ステートメントを使って実現されています。
以下がプログラムの詳細です。
for (int i = 0; i < 5; i++) {
: 変数i
を0から4まで1つずつ増やしながら、以下の処理を繰り返します。if (i == 3) {
: 変数i
の値が3と等しい場合、以下の処理を行います。break;
: ループを終了します。System.out.println("iの値は: " + i);
:i
の値を表示します。- ループの終わり。
これにより、 i
の値が3になるまでの間、 i
の値が表示されますが、 i
の値が3になるとループが終了します。
break文 実行結果
iの値は: 0
iの値は: 1
iの値は: 2
Javaのfor ループの次の繰り返しへ(continue文)
特定の条件が成立した場合、そのループの残りの処理をスキップし、
次の繰り返しに進むためにcontinue文を使用します。



特定の条件の場合は処理をスキップして次に行くってこと?



そうだね。continue文を使うと、条件が成立した場合はその時点での処理をスキップして、次の繰り返しに進むよ。
continue文 例
for (int i = 0; i < 5; i++) {
if (i == 2) {
continue;
}
System.out.println("iの値は: " + i);
}
ループの中で、条件文 if (i == 2)
を用いて i
の値が2になったときに、その後の処理をスキップして次の反復に進むように設定されています。これは continue;
ステートメントを使って実現されています。
以下がプログラムの詳細です。
for (int i = 0; i < 5; i++) {
: 変数i
を0から4まで1つずつ増やしながら、以下の処理を繰り返します。if (i == 2) {
: 変数i
の値が2と等しい場合、以下の処理を行います。continue;
: ループの現在の反復を終了し、次の反復に進みます。System.out.println("iの値は: " + i);
:i
の値を表示します。- ループの終わり。
これにより、 i
の値が2のときだけ表示がスキップされ、それ以外の値は表示されます。
continue文 実行結果
iの値は: 0
iの値は: 1
iの値は: 3
iの値は: 4
まとめ
Javaにおけるループ文は、指定された条件が満たされる間、あるいは指定された回数だけ処理を繰り返すための構造です。主な種類にはforループ、whileループ、do-whileループがあります。
これらのループを使うことで、繰り返し処理を行うことができます。
各ループの書き方や使い方、例、そして制御構造のネスト、中断、スキップなども覚えとこう!