Java中函数的递归调用

简介: 说到递归,java中的递归和C语言中也是很相似的,在Java中,递归其实就是利用了栈的先进后出的机制来描述的。public class HelloWorld { public static void main(String[] args){ // Scanner s = new Scanner(System.

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


目录
相关文章
|
1月前
|
JavaScript 前端开发 Java
Java Script中的函数原型是什么
Java Script中的函数原型是什么
11 0
|
5月前
|
JavaScript 前端开发 Java
javascript实现像java、c#之类的sleep暂停的函数功能
javascript实现像java、c#之类的sleep暂停的函数功能
41 0
|
5月前
|
Java
java实现Beta函数
java实现Beta函数
|
6月前
|
缓存 算法 Java
在阿里云上部署和运行Java函数时
在阿里云上部署和运行Java函数时
94 2
|
1月前
|
Java 数据库连接 API
Java 学习路线:基础知识、数据类型、条件语句、函数、循环、异常处理、数据结构、面向对象编程、包、文件和 API
Java 是一种广泛使用的、面向对象的编程语言,始于1995年,以其跨平台性、安全性和可靠性著称,应用于从移动设备到数据中心的各种场景。基础概念包括变量(如局部、实例和静态变量)、数据类型(原始和非原始)、条件语句(if、else、switch等)、函数、循环、异常处理、数据结构(如数组、链表)和面向对象编程(类、接口、继承等)。深入学习还包括包、内存管理、集合框架、序列化、网络套接字、泛型、流、JVM、垃圾回收和线程。构建工具如Gradle、Maven和Ant简化了开发流程,Web框架如Spring和Spring Boot支持Web应用开发。ORM工具如JPA、Hibernate处理对象与数
93 3
|
3月前
|
Java
java的OutputStream.writeUTF()函数
java的OutputStream.writeUTF()函数
34 4
|
4月前
|
算法 Java
给定一个字符串数组,如何找到其中最长的回文子串? 要求:编写一个Java函数,输入一个字符串数组,输出其中最长的回文子串。要求时间复杂度为O(n^2)。可以考虑使用动态规划或中心扩展的方法来优化算法。
给定一个字符串数组,如何找到其中最长的回文子串? 要求:编写一个Java函数,输入一个字符串数组,输出其中最长的回文子串。要求时间复杂度为O(n^2)。可以考虑使用动态规划或中心扩展的方法来优化算法。
41 1
|
5月前
|
Java
“Java 8新特性:Lambda表达式与函数引用的详细之道“
“Java 8新特性:Lambda表达式与函数引用的详细之道“
|
5月前
|
JavaScript Java
java函数防抖
java函数防抖
30 0
|
5月前
|
Java
Java实现Excel中的NORMSDIST函数和NORMSINV函数
Java实现Excel中的NORMSDIST函数和NORMSINV函数