递归

* 递归:方法定义中调用方法本身的现象
*
* 方法的嵌套调用,这不是递归。
* Math.max(Math.max(a,b),c);
*
* public void show(int n) {
* if(n <= 0) {
* System.exit(0);
* }
* System.out.println(n);
* show(--n);
* }
*
* 注意事项:
* A:递归一定要有出口,否则就是死递归
* B:递归的次数不能太多,否则就内存溢出
* C:构造方法不能递归使用

 

递归求阶乘的代码实现及内存图解:

 

 * 需求:递归删除带内容的目录

 1         // 获取该目录下的所有文件或者文件夹的File数组
 2         File[] fileArray = srcFolder.listFiles();
 3 
 4         if (fileArray != null) {
 5             // 遍历该File数组,得到每一个File对象
 6             for (File file : fileArray) {
 7                 // 判断该File对象是否是文件夹
 8                 if (file.isDirectory()) {
 9                     deleteFolder(file);
10                 } else {
11                     System.out.println(file.getName() + "---" + file.delete());
12                 }
13             }
14 
15             System.out
16                     .println(srcFolder.getName() + "---" + srcFolder.delete());
17         }

 

posted @ 2018-11-03 14:14  武士黄  阅读(120)  评论(0编辑  收藏  举报