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