java中的方法

1.定义:

实现特定功能的代码块,通过调用方法可以实现代码的重用。方法的定义不能嵌套,即在一个方法内不能定义另外一个方法。

2.语法格式:

修饰符 返回值类型 方法名(参数类型 参数名){
方法体;
返回值类型
}
例子:比较三个数的大小,并且利用方法进行封装

	public static void main(String[] args){
		int a=3;
		int b=4;
		int c=5;
		System.out.println("三个数的最大值是:"+getMax(a,b,c));
	}
	public static int getMax(int a,int b,int c){
		int max_temp = a>b?a:b;
		int max=max_temp>c?max_temp:c;
		return max;
	}

3.方法的重载

方法名相同,参数列表不同(参数个数或者参数类型不同)
其他如方法修饰符,返回值类型与方法重载没有任何关系

4.递归方法

在一个方法体内调用它自身,称为方法递归。方法递归是一种隐式循环。递归因为不断需要进行压栈操作,所以递归次数如果过多则容易引起栈溢出。递归必须得由出口,否则将变成死递归,递归方法也就毫无意义。
例子1:分别使用循环和递归来计算5!
循环实现

	public static void main(String[] args){
		//循环实现
		int num=5;
		int factorial =1;
		for(int i=1;i<=num;i++){
			factorial*=i;
		}
		System.out.println(num+"的阶乘是:"+factorial);
	}

递归实现

	public static void main(String[] args){
		int num = 5;
		System.out.println(num+"的阶乘是:"+Recursion(num));
	}
	public static int Recursion(int num){
		if(num==1){   //递归的出口
			return 1;
		}else{
		    return num*Recursion(--num);
		}
	}

例子2:兔子问题(斐波那契数列)
有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问第二十个月的兔子对数为多少?
由此可见兔子对象的数据是:1 , 1 , 2 , 3 , 5 , 8 ,13…
即从第三个数开始,都为前两个的数之和。
递归实现

	public static void main(String[] args){
		int month=8;
		int total=Recursion(month);
		System.out.println(month+"个月后一共有"+total+"对兔子");
	}
	public static int Recursion(int month){
		if(month==1||month==2){
			return 1;
		}else{
			return Recursion(month-1)+Recursion(month-2);
		}
	}

当然也可以定义数组,利用循环来实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值