Javaには拡張for文と呼ばれる文法がある。Javaのfor文をより簡単に使えるようにした文法だ。
実際の使い方を確認してみよう。
目次
拡張for文の使い方
Javaの繰り返し文にJ2SE 5.0(java 2 SEのバージョン 5.0)から拡張for文が加わった。それまでの基本的なfor文の書き方が、この拡張により特定の場面でよりコンパクトに書くことができるようになった。
書き方の基本はこうだ。
for ( 型 変数名 : 式 )
文;
}
拡張for文を使う対象は、配列とコレクションのようなIterableのサブタイプである。このような対象の内容を、すべて取得してある操作を実行しようとするとき拡張for文が使える。
では、サンプルプログラムから実際のコードを見てみよう。
基本的なfor文を使ったサンプルプログラム
このサンプルプログラムは、配列に代入された初期値を基本的なfor文ですべて表示している。
1 2 3 4 5 6 7 8 |
public class BasicForArray { public static void main (String[] args){ int numbers[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};//[1] for (int index = 0; index < numbers.length; index ++) {//[2] System.out.println("[3] number = " + numbers[index]); } } } |
実行結果
1 2 3 4 5 6 7 8 9 10 |
[3] number = 1 [3] number = 2 [3] number = 3 [3] number = 4 [3] number = 5 [3] number = 6 [3] number = 7 [3] number = 8 [3] number = 9 [3] number = 10- |
サンプルプログラムの説明
それでは簡単にプログラムの解説をしてゆこう。
- [1] 配列変数numbersに初期値を代入する。
- [2] [3] numberに配列の値を代入し、配列の数だけnumberの表示を繰り返す。
配列のサンプルプログラム
このサンプルプログラムは、配列に代入された初期値を拡張for文ですべて表示している。
1 2 3 4 5 6 7 8 |
public class EnhancedForArray { public static void main (String[] args){ int numbers[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};//[1] for (int number : numbers) {//[2] System.out.println("[3] number = " + number); } } } |
実行結果
1 2 3 4 5 6 7 8 9 10 |
[3] number = 1 [3] number = 2 [3] number = 3 [3] number = 4 [3] number = 5 [3] number = 6 [3] number = 7 [3] number = 8 [3] number = 9 [3] number = 10- |
サンプルプログラムの説明
それでは簡単にプログラムの解説をしてゆこう。
- [1] 配列変数numbersに初期値を代入する。
- [2] [3] numberに配列の値を代入し、配列の数だけnumberの表示を繰り返す。
ArrayList(コレクション)のサンプルプログラム
このサンプルプログラムは、ArrayListのインスタンスに追加された値を拡張for文ですべて表示しいている。ArrayListがIterableのサブタイプであるので、拡張for文が使える。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
import java.util.ArrayList; import java.util.List; public class EnhancedForCollection { public static void main (String[] args){ List<Integer> numbers = new ArrayList<Integer>();//[1] for (int number = 1; number <= 10; number++) {//[2] numbers.add(number);//[3] } for (int number : numbers) {//[4] System.out.println("[5] number = " + number); } } } |
実行結果
1 2 3 4 5 6 7 8 9 10 |
[5] number = 1 [5] number = 2 [5] number = 3 [5] number = 4 [5] number = 5 [5] number = 6 [5] number = 7 [5] number = 8 [5] number = 9 [5] number = 10 |
サンプルプログラムの説明
それでは簡単にプログラムの解説をしてゆこう。
- [1] ArrayList型の変数numbersを宣言しインスタンスを生成する。
- [2] [3] numbersに1から10の値を追加する。
- [4] [5] numbersに含まれるすべての値の表示を繰り返す。
まとめ
このページではJavaの拡張for文についてお伝えした。使い慣れると使い勝手がいい文法だ。ぜひサンプルプログラムを打って、動かしてみていただければと思う。