拡張for文 【enhanced for loop】
概要
拡張for文(enhanced for loop)とは、Javaの制御構文の一つで、for文を拡張し、簡易な構文で配列やコレクションの要素を順に走査する繰り返し処理を行うもの。他の言語におけるforeach文やfor-in文に相当する。通常のfor文は for(初期化; 条件式; 繰り返し時の処理) という構文で、for(i=0; i<10; i++) のようにカウンタ変数の初期化、終了条件、数え上げ処理を記述することが多い。
拡張for文の構文は for(型名 変数名: 配列名あるいはコレクション名) で、変数は配列やコレクションの要素を表す。例えば、int型の配列aについて for(int i:a) のように記述すると、最初のループではiはa[0]を、2番目はa[1]を指し、aの末尾の要素まで走査すると繰り返し終了となる。
配列を先頭から末尾まで順に走査する処理は従来のfor文だと for(i=0; i<a.length; i++) のようになるが、拡張構文だと簡潔かつ意図を明確に記述することができる。カウンタ変数に相当するものは無いため、「先頭から何番目の要素か」の情報が必要な場合は開発者が自分で用意する必要がある。
(2023.11.4更新)