DEBUG - 天道酬勤
拿一个阶乘的例子来说比较容易理解
上面的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语句),还有递归方法.
Powered by: BlogJava Copyright © HUIKK