您的位置:首页 > 编程语言 > Java开发

java 递归详解

2011-07-21 20:44 204 查看
example: 求5的阶乘。。
如下:
public class Test { static int multiply(int n){ if(n==1||n==0) return n; else return n*multiply(n-1); }
public static void main(String[] args){ System.out.println(multiply(10)); } }
上面的multiply是一个阶乘的例子。其实递归递归,从字面上解释就是在方法本身调用自己的方法,或者间接调用;看上面的程序,拿multiply(5)来说: n=5;执行 5*multiply(4); -------------------- 这时候看multiply(4) n=4 执行 4*multiply(3); ------------------- 看multiply(3) n=3,执行 3*multiply(2); --------------- mulitply(2); n=2 执行 2*mulitply(1); 这时候,return 1;往上返回 2*1向上返回 3*(2*1)向上返回 4*(3*(2*1)) 向上返回 5*(4*(3*(2*1)) ) = 120 所以程序输出120; 这事简单的递归的例子;所以可以看出来递归的关键得有递归出口(本体的If语句),还有递归方法;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: