递归注意事项:
(1)递归一定要有停止条件,否则会导致栈内存溢出
(2)构造方法禁止递归
案例1:递归求和
//案例1:求和
private static int sum(int num) {
if (num==0){
return 0;
}
return num+sum(num-1);
}
案例2:递归求阶乘
//案例2:计算阶乘
private static int factoria(int num) {
if(num==1)
return 1;
return num * factoria(num-1);
}
案例3:递归遍历文件夹中全部文件及子文件夹中的全部文件
//案例3:遍历文件夹中全部文件、包含子文件夹中的文件
private static void getAllFiles(File file) {
if(file.isDirectory()){
File[] files = file.listFiles();
for (File file1 : files) {
if(file1.isDirectory()){
getAllFiles(file1);
continue;
}
System.out.println(file1);
}
}
}