第四章 控制执行流程
4.4 Foreach语法
Java SE5引入了一种新的更加简洁的for语法用于数组和容器,即foreach语法,表示不必创建int变量取对由访问项构成的序列进行计数,foreach将自动产生每一项。
//: control/ForEachFloat.java import java.util.*; public class ForEachFloat { public static void main(String[] args) { Random rand = new Random(47); float f[] = new float[10]; for(int i = 0; i < 10; i++) f[i] = rand.nextFloat(); for(float x : f) System.out.println(x); } } /* Output: 0.72711575 0.39982635 0.5309454 0.0534122 0.16020656 0.57799757 0.18847865 0.4170137 0.51660204 0.73734957 *///:~
for(float x : f) 这条语句定义了一个float类型的变量x,继而将每一个f的元素赋值给x。
任何返回一个数组的方法都可以使用foreach。例如,String类有一个方法toCharArray(),它返回一个char数组,用foreach迭代字符串里的所有字符:
//: control/ForEachString.java public class ForEachString { public static void main(String[] args) { for(char c : "An African Swallow".toCharArray() ) System.out.print(c + " "); } } /* Output: A n A f r i c a n S w a l l o w *///:~