Java中函数的递归调用

news/2024/7/7 15:12:50

说到递归,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 ;
	}
}



http://www.niftyadmin.cn/n/647656.html

相关文章

c语言条件编译的作用,C语言中条件编译的作用

条件编译属于三种宏定义中的一种&#xff0c;条件指示符的最主要目的是防止头文件的重复包含和编译&#xff0c;例如:一个c文件包含同一个h文件多次&#xff0c;如果不加#ifndef宏定义&#xff0c;会出现变量重复定义的错误条件编译常用的有四个预处理命令&#xff1a;#if、#el…

android 7.1.1三星官方,三星Galaxy S7将直升Android7.1.1 时间定为明年初

【TechWeb报道】三星在经过Note 7的爆炸门事件后&#xff0c;越发重视Galaxy S7系列的后续发展&#xff0c;不仅在早前推出了新配色珊瑚蓝&#xff0c;还于昨天在国内特供了128GB矅岩黑Galaxy S7 Edge&#xff0c;而现在又有消息传出&#xff0c;三星Galaxy S7以及S7 Edge已经开…

sex在c语言中,2003年4月全国高等教育自学考试计算机软件基础(一)试题

}printf (“x%d&#xff0c;y%d&#xff0c;z%d”&#xff0c;x&#xff0c;y&#xff0c;z)&#xff1b;}A.x4&#xff0c;y4&#xff0c;z1 B.x5&#xff0c;y4&#xff0c;z1C.x5&#xff0c;y4&#xff0c;z2 D.x5&#xff0c;y5&#xff0c;z119.C语言中&#xff0c;下列定…

c语言 函数教学反思,二次函数图象之教学反思

问题是利用抛物线的对称性解决三角形的周长最小的题目&#xff0c;本题让学生充分合作交流最后让学生在自主探索中获取新的知识。二次函数图象之教学反思2017-12-20 20:09:42 | #1楼回目录这堂课最大 的却失是教学手段单一&#xff0c;浪费了时间&#xff0c;降低了课堂效率&am…

android 图片 居中 手势缩放 设置缩放比例,ImageView通过matrix实现手势缩放

关于ImageView的手势缩放&#xff0c;有很多种方法&#xff0c;绝大多数开源自定义缩放都是修改了ondraw函数来实现的。但是ImageView本身有scaleType属性&#xff0c;通过设置android:scaleType"matrix" 可以用很少的代码就实现缩放功能。缩放的优点是实现起来简单&…

ngScreening - angular 筛选器

ngScreening v0.4.9 angular筛选器组件通过控制器定义数据&#xff0c;screening帮你完成数据的渲染、监听、过滤等功能。 DEMO http://moerj.github.io/ngScre... Getting Started npm install ng-screening require(angular);//在使用前&#xff0c;你需要引入 angularrequir…

姓名字典顺序排序C语言,求教通讯录管理系统中的姓名按字典顺序排列

回复 8楼 rjsp#include#include#includeusing namespace std;struct information{string name;int number;string address;};int main(){cout<cout<cout<cout<cout<cout<cout<cout<cout<cout<cout<cout<cout<cout<cout<cout<c…

android输入流,Android有效地从输入流中读取

问题我正在为我正在制作的Android应用程序的网站发出HTTP get请求。我正在使用DefaultHttpClient并使用HttpGet发出请求。我得到实体响应&#xff0c;并从中获取一个InputStream对象来获取页面的html。然后我循环完成回复&#xff0c;如下所示&#xff1a;BufferedReader r ne…