拡張for文

for文は回数を指定して繰り返し処理をしますが、拡張for文はデータの集合に対して繰り返し処理を行ないます。データの集合(配列やコレクション)の要素を順番に利用することが簡単に行なえます。このステートメントはJava5から用意されました。

拡張for文の書式
for(データ型 変数名 : データの集合){
  処理;
}

例:
 for(int num : ary){
   System.out.println(num);
 }

○ ファイル

次のようにファイルを作成してください。

ファイル名 EnhancedForTest.java

サンプルダウンロード

○ プログラム

次のようにプログラムを入力してください。

EnhancedForTest.java

  1. import java.io.*;
  2. class EnhancedForTest{
  3.     public static void main(String[] args){
  4.         //配列を用意する
  5.         String[] fruits = {"りんご", "ばなな", "みかん"};
  6.         //配列の要素分だけループする
  7.         for(String fruit : fruits){
  8.             //取り出した要素を表示する
  9.             System.out.println(fruit);
  10.         }
  11.     }
  12. }

○ コンパイルと実行

C:¥work>javac EnhancedForTest.java
C:¥work>java EnhancedForTest
りんご
ばなな
みかん

C:¥work>

○ 解説

6行目では、配列fruitsを初期化しています。9行目では、指定した集合(fruits配列)の要素を先頭から1つ取り出して、変数fruitに格納しています。11行目では、取り出したデータを表示しています。繰り返し処理が終了すると、fruits配列から次の要素を取り出し、繰り返し処理をします。取り出す要素がなくなると繰り返しを終了します。

このサンプルのように、拡張for文を使用すると、for文と違い、配列の要素数を調べて回数を指定したループ処理を記述しなくてもよくなります。データの集合を指定するだけで、要素内を順番に、用意した変数に格納してくれます。拡張forブロック内では、その変数を利用して処理を行ない、繰り返し処理が終わると、次の要素のデータを変数に取り出し、処理を行なうことができます。

前へ   次へ