黑马程序员技术交流社区
标题:
关于增强型for循环的问题
[打印本页]
作者:
wanghongye
时间:
2011-11-22 20:18
标题:
关于增强型for循环的问题
本帖最后由 wanghongye 于 2011-11-23 18:14 编辑
看一个例子:public static void main(String[] args){
File[] files=File.listRoots();
for(File f:files){
System.out.println(f);
}
}
输出的是:
C:\
D:\
E:\
F:\
这里的for(File f:files)我就有点不明白什么意思。没看懂。循环的形式是怎样的,还有这里的for循环的结束判断语句是什么?它是依据什么结束循环的。
作者:
吴雨翔
时间:
2011-11-22 20:52
for(File f:files)与
for(int i = 0; i < files.length; i++){
File f = files[i];
}
的效果是一样的
作者:
侯伟浩
时间:
2011-11-22 20:54
增强的for循环就是foreach
作者:
王德云
时间:
2011-11-22 20:56
jdk1.5的新特性
for(循环变量类型 循环变量名称 : 要被遍历的对象)
{
循环体;
}
作者:
赵磊5
时间:
2011-11-22 21:05
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8};
/**
* 新式写法
*/
for (int a : arr)
System.out.println(a);
/**
* 旧式写法
*/
for (int i = 0; i < arr.length; i++)
System.out.println(arr[i]);
实现结果都一样,但是增强for循环节省代码而且看起来也方便。
作者:
袁世宇
时间:
2011-11-22 21:13
JDK1.5加入的增强for和循环
主要是针对数组遍历的
for(元素类型t 元素变量x : 遍历对象obj){
引用了x的java语句;
}
作者:
冯敏
时间:
2011-11-22 21:22
其实增强for并不难理解,增强for多数应用于数组,对于一维数组,通过变量来访问数组的当前元素,如:
int[] number={1,2,3,4,5};
for(int n:number){
System.out.println(n);
}
}
当第一次循环时,把number[0]的值赋给n,然后输出n的值为1,第二次循环时,把number[1]的值赋给n,然后输出n的值为2,如此往下循环...
下面举个二维数组的例子:
int[][] array=new int[4][5];
for(int[] i:array)
for(int j:i)
System.out.println(j);
外层循环用一维数组访问二维数组的元素,内层循环用单个变量访问一维数组,增强for通过降级来层层访问数组元素,
作者:
zhou_411424
时间:
2011-11-22 21:59
增强for循环既可以遍历数组,也可以遍历集合
使用增强for循环和普通for循环没有太大区别
不过在遍历集合时,可以使代码比较简洁:
你试试遍历一个集合去,没有增强for你还得加个迭代器。
Set<String> set = new HashSet<String>();
Iterator<String> it = set.iterator();
while (it.hasNext()) {
String str = it.next();
System.out.println(str);
}
增强for循环遍历:
for (String str : set) {
System.out.println(str);
}
有点很明显了,节省多少代码呢看起来也方便,实现结果都一样。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2