A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wyy666 中级黑马   /  2014-6-4 21:35  /  1155 人查看  /  1 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

  •   public static void removeDir(File dir)
  •         {
  •                 File[] files=dir.listFiles();//获取目录列表
  •                 //遍历目录列表
  •                 //一般的for循环
  •                 /*
  •                 for (int x=0;x<files.length ;x++ )
  •                 {
  •                         if (files[x].isDirectory())
  •                         {
  •                                 removeDir(files[x]);
  •                         }
  •                         else//要加上else 否则会把目录作为文件再删一遍,降低效率,返回false
  •                                 System.out.println(files[x]+":-file-:"+files[x].delete());
  •                 }
  •                 */
  •                 //高级for循环
  •                 for (File file:files )
  •                 {
  •                         if (file.isDirectory())
  •                         {
  •                                 removeDir(file);
  •                         }
  •                         else
  •                                 System.out.println(file+":-file-:"+file.delete());
  •                 }
  •                         System.out.println(dir+":-dir-:"+dir.delete());//删除目录
  •         }

[color=rgb(177, 8, 0) !important]复制代码


在看删除目录的视频时,说这段代码的for循环也可以用高级循环,我想知道,一般的for循环语句都可以用高级for循环表示吗(或者高级for循环都可以写成一般循环的形式吗)?如果不是,那什么情况要用高级for循环呢?

1 个回复

倒序浏览
理论上都可以用高级for,用高级for循环更便捷一些,但是如果涉及到对数组内容的操作的话,建议用一般for循环,因为一般for循环里方便对角标进行操作
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马