一、递归调用是指在方法执行过程中出现该方法本身的调用。
例1:Fibonacci数列(1.1.2.3.5.8.13……)
public static int f(int n) {
if (n < 3) {
return 1;
} else
return f(n - 1) + f(n - 2);
}
例2:打印某一路径下的所有文件
public void f(File file, int lev) {
File list[] = file.listFiles();
if (list.length == 0) {
return;
}
for (int i = 0; i < lev; i++) {
System.out.print("\t");
}
for (int i = 0; i < list.length; i++) {
System.out.println(list[i].getName());
if (list[i].isHidden() == true) {
continue;
} else if (list[i].isDirectory() == true) {
f(list[i], lev + 1);
}
}
}
注:如果路径下面存在某个用户无法访问的文件,会抛空指针,所以我加了个是否隐藏的判断。