递归

递归概述:

      递归就是方法自己调用自己。递归必须要有出口,否则容易导致栈内存溢出。

 

递归用法:

    1、递归求5的阶乘

    

 1 public class Test2 {
 2 
 3     public static void main(String[] args) {
 4         int sum = Factorial(5);
 5         System.out.println("5的阶乘等于"+sum);
 6     }
 7     
 8     public static int Factorial(int i){
 9         if(i==1){
10             return 1;
11         }
12         return i*Factorial(i-1);
13     }
14 
15 }
View Code

  

    2、递归打印文件夹

 1 public class Test2 {
 2 
 3     public static void main(String[] args) {
 4         Recursion("D:\\");        //需要查找的磁盘
 5     }
 6 
 7     public static void Recursion(String Path) {
 8         File file = new File(Path);                
 9         File[] listFiles = file.listFiles();        //获取到目录下所有的文件(夹)的 File[].
10         if (listFiles != null) {                    //File[]不为空
11             for (File file2 : listFiles) {            
12                 if (file2.isFile()) {                //如果是文件
13                     System.out.println(file2.getName());
14                 } else if (file2.isDirectory()) {    //如果是文件夹
15                     Recursion(file2.getAbsolutePath());        //递归继续查找
16                 }
17             }
18         }
19     }
20 
21 }
View Code

 

 

随笔说:

        递归的调用次数不能过多,递归必须要有出口,构造方法不能递归。 递归必备:出口、规律。

    

posted @ 2017-08-17 23:51  B_Lasting_尊  阅读(133)  评论(0编辑  收藏  举报