ホームページ  >  記事  >  Java  >  Java の for ループと拡張 for ループの違いは何ですか?

Java の for ループと拡張 for ループの違いは何ですか?

王林
王林転載
2023-08-19 19:45:261409ブラウズ

Java の for ループと拡張 for ループの違いは何ですか?

Java は、要素の反復に関して多くのオプションを提供します。一般的なループ構成のうち 2 つは、従来の「for each」ループと拡張された「for each」ループで、それぞれがこのタスクを実行するための異なるメソッドを提供します。これらのメカニズムの違いを理解することは、Java プログラマが特定の状況に最適なスタイルを選択するための重要な情報です。

###文法###

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

リーリー

「foreach」ループとも呼ばれる拡張 for ループの構文は異なります:

リーリー

用語の説明

従来の for ループは、初期化、条件、およびインクリメント/デクリメントの 3 つの部分で構成されます。初期化ステップは、開始時に一度だけ実行されます。条件は、各サイクルの前に評価され、条件が満たされる可能性があります。本物の場合、ループ内のコードが実行されます。各サイクルの後に、インクリメント/デクリメント ステップが実行されます。

一方、改良された for ループは、初期化、条件、およびインクリメント/デクリメントのステップの要件を排除することで言語構造を簡素化し、コレクションまたは配列を直接反復処理します。

アプローチ 1: 従来の for ループ

###アルゴリズム###

変数を初期化します。

  • ループを実行する条件を指定します。

  • ループ内のコード ブロックを実行します。

  • 変数をインクリメントまたはデクリメントします。

  • Example

    の中国語訳は次のとおりです:

    Example
  • リーリー ###出力### リーリー
説明

の中国語訳は次のとおりです:

説明

コードは、TraditionalForLoopExample という名前のパブリック クラスを宣言することで始まります。

クラスの範囲内には、main メソッドと呼ばれる基本的なプロセスがあります。このコンポーネントは、プログラム実行のエントリ ポイントとして機能します。

for キーワードはループ構造の開始を示します。

int i = 0 は、ループ制御変数 i を初期値 0 で初期化します。

i

このコードは、'i' という名前の増分整数変数を更新するために反復ステートメントを使用しています。プログラム ループ実装による後続の各サイクルで、'i の現在の値に (前述したように ' ' を介して) 1 を追加します。 ' ここではコマンド ストリームを介して遭遇します。これにより、現在のイテレータを簡単に追跡できるようになります。括弧 {} で囲まれたブロック内に含まれており、「ループ」について話すときにプログラムの範疇に入るすべてのものが揃っています。ここには特別なものがあります。コマンド - System.out.println("Iteration: " i); - 実行時に、テキスト (「反復」) と変数の両方を含むデータを画面上に出力します。

条件 i

アプローチ 2: for ループの強化

###アルゴリズム###

コレクション内の各要素を保持する変数を宣言します。

反復するコレクションを指定します。

    コード ブロックをループで実行し、宣言された変数を使用して各要素にアクセスします。
  • 次の拡張された for ループの例を考えてみましょう
  • Example
  • の中国語訳は次のとおりです:

    Example

    リーリー ###出力### リーリー
  • 説明
  • の中国語訳は次のとおりです:

    説明

  • コードは、EnhancedForLoopExample というパブリック クラスを宣言することで始まります。

クラスの範囲内には、main メソッドと呼ばれる基本的なプロセスがあります。このコンポーネントは、プログラム実行のエントリ ポイントとして機能します。

fruits という名前の String 型の配列を宣言します。このコード行は、文字列値を格納できる、fruits と呼ばれる配列を作成します。配列は、「Apple」、「Banana」、「Orange」の 3 つの要素で初期化されます。

強化された for ループにより、配列とコレクションの反復プロセスが簡素化されます。

フルーツ配列の各要素をループし、現在の要素をループ変数フルーツに割り当てます。

反復ごとに、中括弧 {} で囲まれたコード ブロックを実行して、フルーツ配列の個々の要素を簡単に出力します。出力には、静的ラベル「Fruit:」と、現在の反復中の特定の項目を表す変数値 (System.out.println("Fruit: " Fruit); 経由) が含まれます。このアプローチにより、配列などのデータセットを走査するために一般的に使用される手動インデックス付け手法に関連する順序の不整合やインデックスギャップのリスクが排除されます。

Java の for ループと拡張 for ループの違い

相違点

従来の for ループ

for ループの強化

######構文###

明示的な初期化、条件、および増加/減少ステップが必要です

簡素化された構文、初期化、条件、加算または減算の手順は不要です

反復制御

初期化、条件、増加/減少ステップをより詳細に制御できます

コレクションまたは配列の要素を自動的に反復する

要素へのアクセス

インデックス変数と配列/コレクション サイズを使用して要素にアクセスできます

要素への直接アクセス、インデックスやサイズは不要

コードの可読性

反復の詳細を明示的に処理する必要があります

反復の詳細を抽象化することでコードの可読性を向上させる

ユースケース

反復に対する明示的な制御が必要な状況に適しています

複雑な反復要件を必要とせずにコレクションまたは配列を反復するのに最適です

###結論###

従来の for ループと拡張された for ループはどちらも、Java プログラミングにおいて独自の重要性を持っています。従来の for ループでは、強調ハンドルに対する適応性と制御が向上し、ソフトウェア エンジニアが初期化、条件、および増分/減分を特徴付けることができます。開発時にサイクル数や特定の条件がわかっている場合によく利用されます。

以上がJava の for ループと拡張 for ループの違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。