java递归的简单实现方式

       递归在平常的开发过程中使用的不是太多,但是作为一个经典算法,我们必须也要了解一下,递归在使用的过程中一定要有递归的结束条件,否则就会出现java内存溢出,导致整个系统崩溃。下面使用递归计算100以内的数的累计求和让大家更深刻的理解一下递归算法。


[java] view plain copy
  1. public class TestDemo {  
  2.   
  3.     /** 
  4.      * @param args 
  5.      */  
  6.     public static void main(String[] args) {          
  7.             System.out.println(sum(100));  
  8.     }  
  9.     /** 
  10.      * @param 求和方法 
  11.      */  
  12.     public static int sum(int num){  
  13.         if(num == 1){  
  14.             return 1;  
  15.         }  
  16.         return num + sum(num-1);  
  17.           
  18.     }  
  19.   
  20. }  

  上面这个代码就简单的实现类一个递归调用,

当num 不等于1的时候,方法一直在:

执行return中的方法(但是不return)=>

然后自己调用自己=>

直到num==1的时候,return 1;开始从“最内层”开始执行return,直到最外层return=>

最终返回给main方法

递归调用结束。

例如:return 5+(4+(3+(2+(1)));


注意:使用递归的时候,递归方法一定要有结束条件。

转载自:https://blog.csdn.net/zhengyangzkr/article/details/70246210

阅读更多

没有更多推荐了,返回首页