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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 邱石 中级黑马   /  2015-6-13 19:47  /  244 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

递归(理解)
        (1)方法定义中调用方法本身的现象
                举例:老和尚给小和尚讲故事,故事是:
                                老和尚给小和尚讲故事,故事是
                                        老和尚给小和尚讲故事,故事是。。。
        (2)递归的注意事项;
                A:要有出口,否则就是死递归
                B:次数不能过多,否则内存溢出
                C:构造方法不能递归使用
        (3)递归的案例:
                A:递归求阶乘
                        public int jiCheng(int n){
                                if(n==1){
                                        return 1;
                                }else(){
                                        return n*jiCheng(n-1);
                                }
                        }
                B:递归输出指定目录下所有指定后缀名的文件绝对路径
                        private static void getFile(File file) {
                                File[] fileArr=file.listFiles();
                                for(File f:fileArr){
                                        if(f.isDirectory()){
                                                getFile(f);//把目录作为参数再次调用递归方法
                                        }else{//定义出口
                                                if(f.getName().endsWith(".java")){
                                                        System.out.println(f.getAbsolutePath());
                                                }
                                        }
                                }
                        }
                C:递归删除带内容的目录(小心使用)
                        public static void deleteFolder(File file) {
                                //获取该目录下的所有文件和文件夹
                                File[] fileArr=file.listFiles();
                                //遍历数组
                                for(File f:fileArr){
                                        if(f.isDirectory()){
                                                deleteFolder(f);
                                        }else{
                                                f.delete();
                                        }
                                }
                                file.delete();
                        }

2 个回复

倒序浏览
递归是好东西呀
回复 使用道具 举报
赞赞赞,顶一下
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马