拡張for文
for文の書き方はCと変わらない。
でも、javaには拡張for文という便利なものがあるみたいです。
1 class ExtendFor { 2 3 public static void main(String[] args){ 4 int[] a = {1,2,3,4,5}; 5 int sum = 0; 6 7 for(int x : a){ 8 sum += x; 9 } 10 System.out.println(sum); 11 } 12 13 }
実行してみる
$ javac ExtendFor.java $ java ExtendFor 15
配列の中身がしっかり足されている。
for(int x : a)
ここの部分の解釈は、"配列aの先頭から最後までの要素を順にxに代入していきますよ"。
xは取り出した要素が格納される変数。
aは参照したい配列変数の名前。
xはaの型に合わせる必要があります。
なかなか便利ですね。
というのも、例えばfor文を使って配列aの先頭から最後までを参照した場合は以下に示すように"i<5"とか"i++"を書く必要がある。でも、拡張for文だとそういうことを書かなくても、良い。
for(int i=0;i<5;i++) { a[i].......
2008年9月23日追記
多次元配列に拡張for文
1 public class Test { 2 public static void main(String[] args) { 3 4 int[][] a = {{0,1},{2,3,4},{5,6,7,8}}; 5 6 for (int[] i : a) { 7 for (int j : i) { 8 System.out.printf("%3d",j); 9 } 10 System.out.println(); 11 } 12 13 } 14 }
実行してみた結果
$ java Test 0 1 2 3 4 5 6 7 8