logo

JavaのForループ

Javaのループ ステートメントのブロックを繰り返し実行する必要がある場合に使用されます。 Javaのforループ は、ループ構造を記述する簡潔な方法を提供します。 for ステートメントは、初期化、条件、およびインクリメント/デクリメントを 1 行で実行するため、より短くデバッグしやすいループ構造が提供されます。例を使用して Java for ループを理解しましょう。

JavaのForループ

構文:



for (initialization expr; test expr; update exp) {  // body of the loop  // statements we want to execute }>

Java For ループの一部

Java for ループは、以下に示すようにさまざまな部分に分かれています。

  • 初期化式
  • テスト式
  • 式の更新

1. 初期化式

この式では、ループ カウンタを何らかの値に初期化する必要があります。

例:



int i=1;>

2. テスト式

この式では、条件をテストする必要があります。条件が true と評価された場合、ループの本体が実行され、更新式に進みます。それ以外の場合は、for a ループを終了します。

例:

i <= 10>

3. 式の更新 :

ループ本体の実行後、この式はループ変数をある値ずつ増加または減少させます。



例:

i++;>

For ループはどのように機能するのでしょうか?

  1. 制御は for ループに入ります。初期化が完了しました
  2. フローは条件にジャンプします
  3. 状態はテスト済みです。
    • Condition が true の場合、フローは Body に入ります。
    • 条件が false の場合、フローはループの外に進みます。
  4. ループ本体内のステートメントが実行されます。
  5. アップデートへの流れ
  6. 更新が行われ、再びステップ 3 に進みます。
  7. for ループが終了し、フローが外部に出ました。

Java の for for ループのフローチャート

Java のループのフローチャート

Java のループのフローチャート

JavaのForループの例

例 1: ( このプログラムは 1 から 10 までを出力します)

ジャワ




/*package whatever //do not write package name here */> // Java program to write a code in for loop from 1 to 10> class> GFG {> >public> static> void> main(String[] args)> >{> >for> (>int> i =>1>; i <=>10>; i++) {> >System.out.println(i);> >}> >}> }>

>

>

出力

1 2 3 4 5 6 7 8 9 10>

例 2: このプログラムは、Hello World を 5 回出力しようとします。

ジャワ


文字を文字列に変換する方法



// Java program to illustrate for loop> class> forLoopDemo {> >public> static> void> main(String args[])> >{> >// Writing a for loop> >// to print Hello World 5 times> >for> (>int> i =>1>; i <=>5>; i++)> >System.out.println(>'Hello World'>);> >}> }>

>

>

出力

Hello World Hello World Hello World Hello World Hello World>

メソッドの複雑さ:

時間計算量: ○(1)
補助スペース: ○(1)

ドライランニング例 1

プログラムは次のように実行されます。

  1. プログラムが始まります。
  2. i は値 1 で初期化されます。
  3. 状態確認済みです。 1 <= 5 は true を返します。
    1. Hello World が最初に出力されます。
    2. アップデートが完了しました。これで i = 2 になります。
  4. 状態確認済みです。 2 <= 5 の場合は true となります。
    1. Hello World は 2 回目に出力されます。
    2. アップデートが完了しました。これで i = 3 になります。
  5. 状態確認済みです。 3 <= 5 の場合は true となります。
    1. Hello World が 3 回目に印刷される
    2. アップデートが完了しました。これで i = 4 になります。
  6. 状態確認済みです。 4 <= 5 の場合は true となります。
    1. Hello World が 4 回目に印刷される
    2. アップデートが完了しました。これで i = 5 になります。
  7. 状態確認済みです。 5 <= 5 は true を返します。
    1. Hello World が 5 回目に印刷される
    2. アップデートが完了しました。これで i = 6 になります。
  8. 状態確認済みです。 6 <= 5 の場合は false が返されます。
  9. フローはループの外に出ます。プログラムが終了します。

例 3: (プログラムは 1 から 20 までの x の合計を出力します)

ジャワ




// Java program to illustrate for loop.> class> forLoopDemo {> >public> static> void> main(String args[])> >{> >int> sum =>0>;> >// for loop begins> >// and runs till x <= 20> >for> (>int> x =>1>; x <=>20>; x++) {> >sum = sum + x;> >}> >System.out.println(>'Sum: '> + sum);> >}> }>

>

>

出力

Sum: 210>

Java の入れ子になった For ループ

Java のネストされた For ループは、別の for ループ内で for ループを使用するという概念です (ネストされた if-else を使用する場合と同様)。以下の例でこれを理解してみましょう。

ジャワ




// Java Program to implement> // Nested for loop> import> java.io.*;> // Driver Class> class> GFG {> >// main function> >public> static> void> main(String[] args)> >{> >// Printing a 1 to 5 (5 times)> >// first loop> >for> (>int> i =>1>; i <=>5>; i++) {> >// second loop> >for> (>int> j =>1>; j <=>5>; j++) {> >System.out.print(j +>' '>);> >}> >System.out.println();> >}> >}> }>

>

>

出力

1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5>

ネストされたループの詳細については、を参照してください。 Java の入れ子になったループ

JavaのFor-Eachループ

拡張された For ループまたは Java For-Each ループ Java は、Java 5 で導入された for ループの別のバージョンです。拡張された for ループにより、コレクションまたは配列の要素を反復処理する簡単な方法が提供されます。これは柔軟性に欠けるため、現在処理されている要素のインデックスが分からずに要素を順番に繰り返す必要がある場合にのみ使用する必要があります。

注記: 拡張された for ループが使用されている場合、オブジェクト/変数は不変です。つまり、配列内の値が変更できないことが保証されるため、他のループとは対照的に、値を更新できない読み取り専用ループと言えます。ここで値を変更できます。

構文:

for (T element:Collection obj/array) {  // loop body  // statement(s) }>

強化された for ループを使用して作業を簡素化する方法を示す例を見てみましょう。名前の配列があり、その配列内のすべての名前を出力したいとします。この簡単な実装で、これら 2 つの例の違いを見てみましょう。

ジャワ


Javaオブジェクトの等価性



// Java program to illustrate enhanced for loop> public> class> enhancedforloop {> >// Main Function> >public> static> void> main(String args[])> >{> >// String array> >String array[] = {>'Ron'>,>'Harry'>,>'Hermoine'> };> >// enhanced for loop> >for> (String x : array) {> >System.out.println(x);> >}> >/* for loop for same function> >for (int i = 0; i { System.out.println(array[i]); } */ } }>

>

>

出力

Ron Harry Hermoine>

上記のメソッドの複雑さ:

時間計算量: ○(1)
補助スペース: ○(1)

おすすめ: 可能な限り、一般的な形式ではなく、この形式のステートメントを使用してください。 (JAVAドキュメントによる)

Javaプログラム

Java Infinite for ループ

条件が false を返すことはないため、これは無限ループになります。初期化ステップでは、変数 i の値を 1 に設定します。i の値をインクリメントするので、値は常に 1 より大きくなり、false を返すことはありません。これにより、最終的には無限ループ状態が発生します。

例:

ジャワ




// Java infinite loop> class> GFG {> >public> static> void> main(String args[])> >{> >for> (>int> i =>1>; i>=>> + i);> >}> >}> }>

>

>

出力

Infinite Loop 1 Infinite Loop 2 ...>

無限ループを呼び出す別の方法もあります

2つ使う場合は セミコロン ;; for ループでは、for ループは不定詞になります。

構文:

for(;;){   //code to be executed  }>

例:

ジャワ




public> class> GFG {> >public> static> void> main(String[] args)> >{> >for> (;;) {> >System.out.println(>'infinitive loop'>);> >}> >}> }>

>

>

出力

infinitive loop infinitive loop ....>

Java for Loop に関する FAQ

1. Java の for ループとは何ですか?

Java の for ループは、条件が満たされるまでブロック コードを繰り返し実行するために使用されるループの一種です。

2. for ループの構文は何ですか?

for ループの構文は次のとおりです。

for (initialization expr; test expr; update exp) {  // body of the loop  // statements we want to execute }>

3. for ループが使用されるのはなぜですか?

for ループは、同じステートメントを既知の回数繰り返す必要がある場合に使用されます。

必ず参照してください: