一句话来概括:
一个方法自己多次调用自己,但是得有结束的条件
在递归调用的过程中,系统为每一层的返回点或者局部变量开辟了栈来存储
package com.qf.d_digui;
public class Demo1 {
public static void main(String[] args) {
test();
}
public static void test () {
test();
System.out.println("xixi zalba");
}
}
求1-100的和,使用递归的方式来写
package com.qf.d_digui;
public class Demo2 {
public static void main(String[] args) {
System.out.println(sum(1));
}
public static int sum (int num) {
/**
* 1 + sum(2)
* 1 + 2 + sum(2 + 1)
* 1 + 2 + 3 + sum(3+1)
*
*/
//终止条件
if (num == 10) {
return 100;//结束 方法的调用而已
}
return num + sum(num + 1);
}
}
删除某一个目录下面的所有文件
package com.qf.d_digui;
import java.io.File;
public class Demo3 {
public static void main(String[] args) {
File file = new File("c:/bbb");
del(file);
}
public static void del (File file) {
//找到bbb文件夹下面所有的文件和文件夹
File[] files = file.listFiles();
for (File file1 : files) {
if (file1.isDirectory()) {//如果是文件夹 就继续执行del方法
del(file1);
} else {//不是文件夹
file1.delete();
}
}
}
}