黑马程序员技术交流社区

标题: 高级循环问题 [打印本页]

作者: 盛亚昆    时间: 2012-3-24 23:17
标题: 高级循环问题
        class FileDemo2
{
        public static void main(String[] args)        
{
                        
           public static void listDemo()
                {
               
                        File f=new File("c:\\");//打印c盘中的文件,包含隐藏的

                        String[] names=f.list();
                        for (String name;names )//调用list方法的file对象必须是封装了一个目录,该目录还必须存在。 高级循环,这句话是什么意思啊,遍历了什么啊
                        {
                                System.out.println(name);

                        }
               
                }
                public static void listRootsDemo()
                {
                File[] files=File.listRoots();//打印出电脑上所有的硬盘

                for(File f:files)//高级循环,我怎么没有印象啊,高手讲解一下啊???
                {
                        System.out.println(f);
               
                }
                }
}
}
作者: 杨朝辉    时间: 2012-3-24 23:25
增强for循环

格式:(数据类型 变量名:被遍历的集合(Collection)或者数组)
如:
for(String s :al)
{
       System.out.println(s);
}
对集合进行遍历只能获取集合元素
迭代器除了遍历,还可以进行remove集合中元素的动作
如果是用listIterator,还可以在便利过程中对集合进行增删改查。
传统for循环与高级for循环的区别:
高级for循环有一个局限性:必须有被遍历的目标。
在遍历数组时,还是使用传统for循环,因为传统for循环有角标。
作者: 梁锡伟    时间: 2012-3-24 23:58
。。。。
作者: 吴超    时间: 2012-3-25 00:00
本帖最后由 吴超 于 2012-3-25 00:03 编辑

for(数据类型  变量名 : 被遍历的集合(这里集合指collection)或数组)
{}
普通的循环还需要一个作为循环次数的变量,增强行循环不再需要这个变量.
foreach,即增强型循环,主要用于数组,或实现了接口的类,因为这些数组或类的大小在循环的时候已经是确定的了,所以会比普通的循环少定义一个或多个变量.且方便的依次取出数组或类的原素。
int[] as={1,3,9};
for(int a:as){功能}

作者: 贠(yun)靖    时间: 2012-3-25 00:16
你可以理解为  把集合中的元素一个一个的赋给name   




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