黑马程序员技术交流社区

标题: 这个for循环,真心没见过,求解释! [打印本页]

作者: 猎鹰tianya    时间: 2014-1-8 21:43
标题: 这个for循环,真心没见过,求解释!
本帖最后由 猎鹰tianya 于 2014-1-8 23:59 编辑
{:soso_e101:}没见过世面啊,第一次见这个for循环,是毕老师视频里的!
  1.         public static void listRootsDemo() {
  2.                 File[] files=File.listRoots();
  3.                 for(File file:files){
  4.                         System.out.println(file);
  5.                 }
  6.         }
复制代码




作者: 王新年    时间: 2014-1-8 22:05
这是高级for循环是jdk1.5中的新特性之一。
其中对于for(File file:files),在该循环中files 是第二个参数,该参数可以是被访问的集合或数组,当每次遍历的结果就赋值给第一个参数
可以将它改写成如下格式:
File[] files=File.listRoots();
for(int i=0;i<files.length;i++){
    System.out.println(files[i]);
}
作者: FFF    时间: 2014-1-8 22:05
先不要管他。接着学下去,后面会专门讲到的
作者: @翱翔@    时间: 2014-1-8 22:30
这是增强for循环,
格式:for(数组或者Collection集合的元素类型 变量 : 数组或者Collection集合的对象)
                {
                       
                }
作者: 范晓冲    时间: 2014-1-8 23:33
  1. /*
  2. 这就是著名的【增强的for循环】,他是传统for循环的一种简化方式。
  3. 下面这段代码同样适用了【增强的for循环】,功能是把数组arr中的元素都打印出来。
  4. */

  5. public class EnhanceFor{
  6.                 public static void main(String[] args){
  7.                     int[] arr={1,5,3,9,2,0,6};       
  8.                     /*
  9.                     1、int:所要打印数组的数据类型
  10.                     2、a:变量名称,下一句打印语句括号中的名字和它的名字一样
  11.                     3、arr:所要打印数组的名字
  12.                     */
  13.                     for(int a:arr){
  14.                                     System.out.println(a);
  15.                     }
  16.                 }       
  17. }
复制代码
打印结果是

EnhanceFor.png (4.45 KB, 下载次数: 40)

打印结果

打印结果

作者: 不冬眠的蚂蚁    时间: 2014-1-9 10:23
这是一个基于for循环语句的遍历 形式:for(声明循环变量:要遍历的数组名){ }
注意!循环变量的类型必须与数组类型相同
上述形式可以理解为:对于循环变量依次取数组中的每一个元素;
for(File file:files){
                        System.out.println(file);
                }
所以上述代码可解释为 通过for循环遍历 依次将数组files中的每个值 都取到file变量中 通过System语句打印显示;
希望对你有用
作者: 黄晓鑫    时间: 2014-1-9 10:54
高级for循环
作者: 630681386@qq.co    时间: 2014-1-10 16:16
for循环增强,JDK1.5的新特性
作者: 猎鹰tianya    时间: 2014-1-10 19:08
{:soso_e128:}{:soso_e128:}{:soso_e128:}{:soso_e128:}{:soso_e128:}{:soso_e128:}
作者: 银酱    时间: 2014-1-10 23:44
格式有点像C++中的范围for。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2