English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java 基礎教程

Java フローコントロール

Java 配列

Java 面向オブジェクト(I)

Java 面向オブジェクト(II)

Java 面向オブジェクト(III)

Java 異常処理

Java リスト(リスト)

Java キュー(キュー)

Java Map 集合

Java Set 集合

Java 入出力(I/O)

Java リーダー/Writer

Javaの他のトピック

Javaのfor-eachループ(巡回ループ)を学びます。

このチュートリアルでは、Javaの別のforループ形式、つまり強化されたforループやfor-eachループと呼ばれます。

Javaでは、配列やコレクションを処理する際に、強化されたforループを使用できます。これもfor-eachループについて理解する理由は、ループが配列やコレクションの各要素を巡回するからです。

for-eachループを使用する前に、以下を確認してください:

forループとfor-eachループの違い

配列を処理する際に優先される理由-eachループではなくforループを使用する理由について、以下の例を見てみましょう。

ここでの例は、標準のforループを使用して配列の要素を巡回する方法を示しています。

class ForLoop {
    public static void main(String[] args) {
      
        char[] vowels = {'a', 'e', 'i', 'o', 'u'};
        for(int i = 0; i < vowels.length; ++ i) {
            System.out.println(vowels[i]);
        }
    }
}

出力:

a
e
i
o
u

今度は、for-eachループは同じタスクを実行します。

class AssignmentOperator {
   public static void main(String[] args) {
      
      char[] vowels = {'a', 'e', 'i', 'o', 'u'};
      // foreachループ
      for(char item : vowels) {
         System.out.println(item);
      }
   }
}

出力:

a
e
i
o
u

ここでは、二つのプログラムの出力が同じであることがわかります。

この二つのプログラムを詳細に分析すると、for-eachループは書きやすく、コードの可読性を高めます。これが「強化されたforループ」と呼ばれる理由です。

したがって、標準のforループで可能な限り強化されたforループを使用することをお勧めします。

Javaのfor-eachループ

まず、for-eachループの構文:

for(data_type item : collections) {
    ...
}

ここでは、

  • collection -巡回する必要があるコレクションまたは配列。

  • item -コレクションの単一のプロジェクト。

for-eachループがどのように動作するか?

各イテレーションで、for-eachループ、これはfor-Javaでのeachループの動作方法。

  • イテレーション - 指定された集合または配列(コレクション)の各プロジェクトを巡回して、

  • 保存 - 変数(item)の各プロジェクト

  • および繰り返し実行ループ内の主体文。

一例を通じて明確に説明しましょう。

例:for-eachループ

以下のプログラムは整数配列のすべての要素の合計を計算します。

class EnhancedForLoop {
    public static void main(String[] args) {
      
        int[] numbers = {3, 4, 5, -5, 0, 12};
        int sum = 0;
      
        for (int number: numbers) {
            sum += number;
        }
      
        System.out.println("Sum = " + sum);
    }
}

出力:

Sum = 19

上記のプログラムでは、for-eachループの実行は以下の通りです:

イテレーション
1number = 3 時、sum = 0 + 3 = 3
2number = 4 時、sum = 3 + 4 = 7
3number = 5 時、sum = 7 + 5 = 12
4number = -5 時、sum = 12 + (-5) = 7
5number = 0の時、sum = 7 + 0 = 7
6number = 12 時、sum = 7 + 12 = 19

各イテレーションでforを見ることができます。-eachループ

  • numbers配列の各要素を巡回します。

  • それをnumber変数に保存します。

  • 主体を実行し、numberをsum変数に加え、最終的に合計(sum)を得ます。