そういえば,Javaでは拡張for文があったなぁ
int[] xs = new int[10]; // ... for (int i = 0; i < 10; i++) System.out.println(xs[i]);
というfor文が
int[] xs = new int[10]; // ... for (int x: xs) System.out.println(x);
と記述できる.これは良い.
ただ,値を書き換えることはできないみたい.
import java.util.*; public class ForLoop { public static void main(String[] args) { int[] xs = new int[3]; for (int x: xs) System.out.println(x); for (int x: xs) x++; for (int x: xs) System.out.println(x); } }
出力
0 0 0 0 0 0
参照をもっているのではなく,値をもっているんですかね.