Flask接口签名sign原理与实例代码浅析
218
2022-09-16
Java 递归重难点分析详解与练习
目录递归是什么分析递归的过程递归练习按顺序打印一个数的每一位
递归是什么
就是一个方法在执行的时候,自己调用自己。
递归的要求:
1 有一个趋近于终止的条件
2 实现递归要去推导出一个递推公式
递归就是递http://下去,归上来。求 5 的阶乘,代码举例:
public static int fact(int n){
if(QrgJgn == 1){
return n;
}
return n*fact(n - 1);
}
public static void main(String[] args) {
int n = 5;
int ret = fact(n);http://
System.out.println(ret);
}
这里的终止条件就是 n 等于 1 时,返回 1 就停止递归了。否则一直递归下去会造成栈区的溢出。
分析递归的过程
这里就分析上面这个代码的递归过程。
如上图,这就是上面这段递归代码的递归过程,先传入 5 不符合 if 条件。所以继续递归,直到递归到 n == 1 的时候,此时不再递归,而是返回 1 .至此,递下去结束。开始归回来,归回来的时候,最后返回 1 ,然后一路返回,直到最后一个 return 结束,也就是返回 120 。
递归练习
按顺序打印一个数的每一位
例如:1234 打印出 1 2 3 4 代码示例:
public static void print1(int n){
if(n == 0){
return;
}
print1(n / 10);
System.out.print(n % 10+" ");
}
public static void main(Strinhttp://g[] args) {
int n = 1234;
print1(n);
}
整个递归过程如下所示:
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~