java中的递归函数调用函数_Java中函数的递归调用

本文探讨了Java和C语言中递归的概念,指出它们都利用栈的先进后出特性。通过示例代码展示了Java中的递归调用,如阶乘计算和斐波那契数列,并解释了栈在递归过程中的作用。强调了Java中的局部变量与函数调用之间的关系,指出每次函数调用都会在栈上分配新的内存。
摘要由CSDN通过智能技术生成

说到递归,java中的递归和C语言中也是很相似的,在Java中,递归其实就是利用了栈的先进后出的机制来描述的。

public class HelloWorld {

public static void main(String[] args){

//Scanner s = new Scanner(System.in);

//System.out.println("请输入一个数字");

//int num = s.nextInt();

int c = 10 , d = 20 ;

swep(c,d);

System.out.println("c="+c+"d"+d);

//java中使用内存时,直接把内存氛围堆,栈内存。

//堆:通过垃圾回收器回收内存。

//栈:用完自动释放,先进后出。

//所以上面的c,d和swep里面的a,b没有任何关系

//这点和C语言是类似的。

//下面演示的是栈的先进原理--->Java函数方法的递归调用

long ret = jiecheng1(5);

System.out.println(ret);

int fei = GetNdata(8) ;

System.out.println(fei);

}

//Java中简单递归调用--->和C类似 利用栈的先进后出的原理

public static long jiecheng1(int n){

if(n == 1)

return 1 ;

return jiecheng1(n-1)*n;

}

//斐波那契数列 获取第N项的数

public static int GetNdata(int n)

{

if(n == 1 || n == 2)

return 1 ;

return GetNdata(n-1) + GetNdata(n-2) ;

}

public static long jiecheng(int n){

int t= 1 ;

for(int i = 1 ; i < n ; i++){

t *= i ;

}

return t ;

}

public static void swep(int a , int b){

int t = a ;

a = b ;

b = t ;

}

}

本文同步分享在 博客“Engineer-Bruce_Yang”(CSDN)。

如有侵权,请联系 support@oschina.cn 删除。

本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值