J2SE 5.0(Enhanced for Loop)引入了一种新的更加简洁的for语法用于数组和容器,及foreach语法,又称强化的for循环,表示不必创建整型变量去对由访问项构成的序列进行计数,foreach将自动产生每一项。其基本语法如下:
- for(type element:array)
- {
- 语句或块 //循环体
- }
其应用对象之一是在数组的依次存取上,下面通过实例加以说明:
- int[] arr={ 1,2,3,4,5};
- for(int element:arr)
- //对比原来程序 for(int i=0;i<arr.length;i++)
- System.out.print(element + ",");
- //输出:1,2,3,4,5,
每一次从arr中取出的元素会自动设定给element,你不用自行判断是否超过了数组的长度,注意element的类型必须与数组元素的元素类型相同。
如果是二维数组,可以把数组本身当成一个对象,这样就会知道如何使用foreach存取二维数组。据个例子:
- int [][]arr=
- {
- { 1,2,3},
- { 4,5,6},
- { 7,8,9}
- };
- for(int[] row : arr)
- {
- for(int element : row)
- {
- System.out.println(element);
- }
- }