Java で For、While、Do While ループを使用する方法(例あり)

ループは、特定の実行パスを、指定の条件が true である間繰り返すために使用される制御ステートメントです。Java および他のほとんどのプログラミング言語には 3 つのループ構造があります: forwhile、およびdo while です。

ループは、複数の選択ステートメントを繰り返すことなく反復を簡単に行えるようにするため、プログラム開発の重要な要素です。

1. For ループ

これはカウンター制御反復ステートメントです。forループにはカウンターの初期化と、true の間反復を続けるための条件が必要です。

for ステートメントを使用するための構文は次のとおりです:

for (initialization; condition; increment) {
// statements
}

for ステートメント内のすべての式はオプションです。ただし、セミコロン (;) は必須です。

forループの外でカウンターを初期化し、その中に他の式を含めることができます。次の例を参照してください:

int x = 4;

for ( ; x < 10; x++) {
System.out.println(x); // x を出力
}

forループで条件を省略することもできます。これにより、Java コンパイラが条件を常に true と解釈するため、無限ループになります。

注意: forヘッダーから増分部分を省略する場合は、必要に応じてforステートメントの本体に含める必要があります。

ここで、for ループで制御変数を宣言すると、ローカル スコープが与えられることに留意することが重要です。つまり、変数はforループ内でのみアクセスできます。それ以外で使用しようとすると、コンパイル時エラーが発生します。

ただし、forループの外で変数を宣言した場合、グローバル スコープになります。つまり、for ステートメントの外で変数とそれに割り当てられた値にアクセスできるようになります。

forループ内にforループを含めることができます。これはネストされたループと呼ばれます。

for (int x = 2; x < 9; x = x + 2) {
for (int y = 5; y >= 3; y--) {
System.out.println(x * y); // x と y の積を出力
}
}

ネストされたループは 3 つまでにすることをお勧めします。forループの数が多くなるにつれて、ロジックを追跡したりエラーを修正したりすることが困難になります。

最初のforループに注目してください。増分はx=x+2です。増分は常に +1 である必要はありません。必要な任意の値にすることができます。

増分は「減分」にすることもできます。ネストされた for ループ (y--) を参照してください。後方カウントするため、初期化とループ継続条件を指定する際には特に注意してください。

2. While ループ

forループとは異なり、whileステートメントはカウンターなしで使用できます。whileステートメントは、指定の条件が true である間、特定のステートメントを反復するために使用されます。

本体内のステートメントを実行する前に、まず条件が true かどうかを確認します。

構文は次のとおりです:

while (condition) {
// statements
}

whileループをforステートメントの代替として使用する場合、構文は次のようになります:

initialization;

while (condition) {
// statements
increment;
}

while本体に最終的に false になるステートメントを指定しない場合、論理エラーが発生します。無限ループが発生します。

3. Do While

これはwhileステートメントに似ています。違いは、do..whileステートメントは、ループに入る条件が false であっても少なくとも一度は実行する必要があることです。

最初にdo{}本体で指定されたステートメントを実行し、次にループ継続条件が true かどうかを確認します。条件が false であることが判明した場合、ループの実行は停止し、プログラム制御はループ後の次のステートメントに移行します。

以下はdo..while構文です:

do {
// statements to execute
} while (loop-continuation condition);

Java 配列に戻るループ

プログラマーは、ループ継続条件を指定するときに off-by-one エラーが発生することがよくあります。これを回避するには、><ではなく、>=<=演算子を使用するのが最善です。

使用するカウンター変数のスコープにも注意する必要があります。使用を怠ると、コードに論理エラーが発生する可能性があります。

プログラマーのスキルに For、While、および Do While ループの知識が加わったことで、Java で配列を学ぶ準備が整いました。