Java:递归问题

本文介绍了Java中的递归概念,强调了递归必须具备出口并避免过多递归以防止栈溢出。通过不死神兔问题和切饼问题两个实例,展示了递归在解决问题上的应用,体现了递归拆分合并的思维。
摘要由CSDN通过智能技术生成
递归概述

递归是方法中调用方法本身的这种现象
注意事项:
1.要有出口,如果没有出口,就是死递归
2.递归次数不能太多
如果出现这两种情况,栈内存会因为加载过多的方法而造成栈溢出
递归是一种拆分合并的思想
将大的问题拆分成小的问题,通过解决小的问题来解决大的问题
练习:

//求5的阶乘
/*
5!-->4!*5
4!-->3!*4
3!-->2!*3
2!-->1!*2
1!=1
*/
public static void main(String[] args) 
{
   
    int result=calculateFactorial(5);
    System.out.println(result);
}
public static int calculateFactorial(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值