递归

指在当前方法内调用自己的现象

2.直接递归是自己调用自己

3.间接递归,A调用B,B调用C,C调用A

注:递归一定要有条件限定,保证递归能够停止下来,否则会发生栈内存溢出。

  在递归中虽然有限定条件,但是递归次数不能太多。否则也会发生栈内存溢出

4.递归打印文件下所有子目录中的文件

1. 指定要打印的目录File对象

2. 调用getFileAll()方法

  2.1 获取指定目录中的所有File对象

  2.2 遍历得到每一个File对象

  2.3 判断当前File 对象是否是目录

  判断结果为true,说明为目录,通过递归,再次调用步骤2的getFileAll()方法

  判断结果为false,说明是文件,打印文件的路径

3.斐波那契数列数列

规律:第三个数等于前两个数的和

复制代码
        //判断目录下java结尾的文件
        getJava(new File("/Users/air/io0803"));
        //斐波那契数列
        System.out.println(sum(12));
    }
    public static void getJava(File file) {
        File[] files=file.listFiles(new MyFilter1());
        for(File f:files) {
            if(f.isDirectory()) {
                getJava(f);
            }else {
                System.out.println(f);
            }
        }
    }
    public static int sum(int n) {
        if(n==1) {
            return 1;
        }
        if(n==2){
            return 1;
        }
        return sum(n-1)+sum(n-2);
    }
复制代码
posted on 2021-03-06 10:49  心灯不夜  阅读(494)  评论(0)    收藏  举报