English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
このチュートリアルでは、Javaの別のforループ形式、つまり強化されたforループやfor-eachループと呼ばれます。
Javaでは、配列やコレクションを処理する際に、強化されたforループを使用できます。これもfor-eachループについて理解する理由は、ループが配列やコレクションの各要素を巡回するからです。
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ループを使用することをお勧めします。
まず、for-eachループの構文:
for(data_type item : collections) { ... }
ここでは、
collection -巡回する必要があるコレクションまたは配列。
item -コレクションの単一のプロジェクト。
各イテレーションで、for-eachループ、これはfor-Javaでのeachループの動作方法。
イテレーション - 指定された集合または配列(コレクション)の各プロジェクトを巡回して、
保存 - 変数(item)の各プロジェクト
および繰り返し実行ループ内の主体文。
一例を通じて明確に説明しましょう。
以下のプログラムは整数配列のすべての要素の合計を計算します。
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ループの実行は以下の通りです:
イテレーション | 値 |
---|---|
1 | number = 3 時、sum = 0 + 3 = 3 |
2 | number = 4 時、sum = 3 + 4 = 7 |
3 | number = 5 時、sum = 7 + 5 = 12 |
4 | number = -5 時、sum = 12 + (-5) = 7 |
5 | number = 0の時、sum = 7 + 0 = 7 |
6 | number = 12 時、sum = 7 + 12 = 19 |
各イテレーションでforを見ることができます。-eachループ
numbers配列の各要素を巡回します。
それをnumber変数に保存します。
主体を実行し、numberをsum変数に加え、最終的に合計(sum)を得ます。