拡張for文
for文は回数を指定して繰り返し処理をしますが、拡張for文はデータの集合に対して繰り返し処理を行ないます。データの集合(配列やコレクション)の要素を順番に利用することが簡単に行なえます。このステートメントはJava5から用意されました。
拡張for文の書式 |
---|
for(データ型 変数名 : データの集合){ 処理; } |
例:
for(int num : ary){
System.out.println(num);
}
○ ファイル
次のようにファイルを作成してください。
ファイル名 | EnhancedForTest.java |
---|
○ プログラム
次のようにプログラムを入力してください。
EnhancedForTest.java
- import java.io.*;
- class EnhancedForTest{
- public static void main(String[] args){
- //配列を用意する
- String[] fruits = {"りんご", "ばなな", "みかん"};
- //配列の要素分だけループする
- for(String fruit : fruits){
- //取り出した要素を表示する
- System.out.println(fruit);
- }
- }
- }
○ コンパイルと実行
C:¥work>javac EnhancedForTest.java
C:¥work>java EnhancedForTest
りんご
ばなな
みかん
C:¥work>
○ 解説
6行目では、配列fruitsを初期化しています。9行目では、指定した集合(fruits配列)の要素を先頭から1つ取り出して、変数fruitに格納しています。11行目では、取り出したデータを表示しています。繰り返し処理が終了すると、fruits配列から次の要素を取り出し、繰り返し処理をします。取り出す要素がなくなると繰り返しを終了します。
このサンプルのように、拡張for文を使用すると、for文と違い、配列の要素数を調べて回数を指定したループ処理を記述しなくてもよくなります。データの集合を指定するだけで、要素内を順番に、用意した変数に格納してくれます。拡張forブロック内では、その変数を利用して処理を行ない、繰り返し処理が終わると、次の要素のデータを変数に取り出し、処理を行なうことができます。