零基础学Java—递归(五十一)
Posted 王同学要努力
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了零基础学Java—递归(五十一)相关的知识,希望对你有一定的参考价值。
【零基础学Java】—递归(五十一)
一、递归
递归:指在当前方法内调用自己的这种现象
🔵递归的分类:
- 直接递归:方法自身调用自己
- 间接递归:间接递归可以A方法调用B方法,B方法调用C方法,C方法调用A方法
🔵🔵注意事项:
- 递归一定要有条件限制,保证递归能够停止下来,否则会发生栈内存溢出
- 在递归中能够虽然有限定条件,但是递归的次数不能太多,否则也会发生栈内存溢出
- 构造方法 禁止递归
🔵🔵🔵递归的使用前提:当调用方法的时候,方法的主体不变,每次调用方法的参数不同,可以使用递归
二、练习
/*
定义一个方法 使用递归计算1-n之间的和
n+(n-1)+(n-3)+……+1
使用递归必须明确的条件:
递归结束的条件:获取到1的时候结束
递归的目的:获取下一个被加的数字(n-1)
*/
public class demoPra
public static void main(String[] args)
int s=sum(100 );
System.out.println(s);
public static int sum(int n)
//获取到1的时候结束
if(n==1)
return 1;
//获取下一个数字
return n+sum(n-1);
三、使用递归求阶乘
public class demoRecurison
public static void main(String[] args)
int jie=jc(5);
System.out.println(jie);
public static int jc(int n)
if(n==1)
return 1;
return n*jc(n-1);
四、递归打印多级目录
以上是关于零基础学Java—递归(五十一)的主要内容,如果未能解决你的问题,请参考以下文章