递归
指在当前方法内调用自己的现象
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);
    }
 
                     
                    
                 
                    
                 

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号