Java拡張forループをマスター:構文、例、ベストプラクティス
Java拡張forループをマスター
Java拡張forループ(for-eachループ)が配列やコレクションの反復をどう簡素化するか、明確な例と従来のforループとの比較で学びます。
拡張forループ(しばしばfor-eachループと呼ばれる)は、モダンJava(JDK 1.5で導入)の定番です。開発者が配列、List、その他のコレクションを最小限のボイラープレートで反復処理できるようにし、可読性を向上させ、オフバイワンエラーのリスクを減らします。
拡張forループの構文
構文は簡潔で表現力豊かです:
for (DataType element : arrayOrCollection) {
// 要素を処理
}
- arrayOrCollection – 走査される配列またはコレクション。
- element – 順番に各値を取るローカル変数。
- DataType – 要素の型。
例1: 配列要素の出力
// 配列要素を出力
class Main {
public static void main(String[] args) {
int[] numbers = {3, 9, 5, -5};
for (int number : numbers) {
System.out.println(number);
}
}
}
出力
3 9 5 -5
各反復で現在の配列値がnumberに割り当てられ、コンソールに出力されます。
- 反復1:
number = 3 - 反復2:
number = 9 - 反復3:
number = 5 - 反復4:
number = -5
例2: 配列要素の合計
// 配列のすべての要素の合計を計算
class Main {
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);
}
}
出力:
合計 = 19
| 反復 | 変数 |
|---|---|
| 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 |
各ループ反復で現在の要素をsumに加算し、最終的な合計に達します。
forループ vs 拡張forループ
両ループは同じ結果を達成しますが、拡張forループはより明確な構文を提供し、手動のインデックス処理を排除します。
1. 従来のforループ
class Main {
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
2. 拡張forループ
class Main {
public static void main(String[] args) {
char[] vowels = {'a', 'e', 'i', 'o', 'u'};
for (char vowel : vowels) {
System.out.println(vowel);
}
}
}
出力:
a e i o u
両者は同一の出力を生成しますが、拡張forループはより簡潔でエラーが起きにくいです。現代のJavaでは配列とコレクションの反復に推奨されるアプローチです。
詳細については、公式Javaチュートリアルを参照してください。
Java
- C# foreach ループ:配列とコレクションを簡単に反復処理
- Java演算子をマスター:種類、構文、実践例
- Javaコメント:種類、使い方、ベストプラクティス
- Java文字列をマスター:生成、メソッド、ベストプラクティス
- Javaインターフェース完全ガイド:概念、実装、ベストプラクティス
- Java無名インナークラス完全ガイド:定義、構文、実践例
- Javaのtry-with-resourcesをマスターする:自動リソース管理の仕組みと活用法
- Javaアノテーション完全ガイド:種類、配置場所、実践例
- Javaアサーション完全ガイド:バグ早期発見とコード信頼性の向上
- Javaでアームストロング数を判定・列挙するプログラム
- Javaで回文数を判定する:while文とfor文を使ったアルゴリズム