黑马程序员技术交流社区
标题:
递归好难理解啊,求大神指教!!!
[打印本页]
作者:
KokoKevin
时间:
2016-6-7 15:28
标题:
递归好难理解啊,求大神指教!!!
public static void main(String[] args) {
/*int result = 1;
for(int i = 1; i <= 5; i++) {
result = result * i;
}
System.out.println(result);*/
System.out.println(fun(6000));
}
public static int fun(int num) {
if(num == 1) {
return 1;
}else {
return num * fun(num - 1);
}
}
作者:
Fangjie
时间:
2016-6-7 16:22
递归其实就是方法自己调用自己,比如你定义的fun方法,执行的流程就是,如果你传的值等于1,则直接返回该值,否则就在调用fun方法,把传值减1,然后把在把结果返回给第一个fun方法,如果停止条件等于1不满足,则该方法会一直自己调用自己,直到其中的一个方法的停止条件满足,则会把结果依次的回返下去,这就是递归
作者:
qt520
时间:
2016-6-7 16:53
fun(6000)
num==6000
返回6000*fun(5999)
fun(5999)
num==5999
返回5999*fun(5998)
一直算到fun(1),返回1
最后返回的值6000*5999*5998*……*1
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2