Java中方法的重载与递归

一、方法的重载

1.在同一个类中,多个方法,方法名相同,参数列表不同(方法签名不同)

  • 其中参数列表不同有以下几种情况
    • 参数个数
    • 参数类型不同
    • 当类型不同的时候,顺序不同也叫参数列表不同

2.重载方法如何调用

  • 根据参数进行匹配不同的方法,只看调用时候的参数列表

3.作用

  • 方法的重载是一个类中封装的一种体现,也是一个类中多态的一种体现
  • 方法的重载和修饰符无关
  • 方法的重载有没有返回值类型无关
  • 方法的重载和返回值类型无关
  • 方法的重载和参数的名字无关
  • 方法的重载只和方法名与参数列表有关

4.举例

public class OverLoad06{
	public static void main(String[] args){
		//调用求长方形面积
		System.out.println(getAera(5,6));  
		//调用求圆的面积
		System.out.println(getAera(1));
		//调用求梯形的面积
		System.out.println(getAera(1,2,3));
	}
	public static double getAera(double a,double b){
		System.out.println("长方形面积为");
		return a*b;
	}
	public static double getAera(double a){
		System.out.println("圆形面积为");
		return 3.14*a*a;
	}
	public static double getAera(double a,double b,double c){
		System.out.println("梯形面积为");
		return  (a+b)*c/2;
	}
}

二、方法的递归

1.方法的递归就是在方法中自己调用自己

2.定义

  • 递归头: 停止自己调用自己的条件

  • 递归体: 自己调用自己

  • 临界条件: 停止自己调用自己的条件,递归头

  • 递归前进段:还没有到临界条件之前自己调用自己的阶段

  • 递归后退段:把结果返回给上一层

3.举例

public class Recursion07{
	public static void main(String[] args){
		System.out.println(recursion(2));
		cfb(5);
	}
	
	//实现阶乘: 5! = 5*4*3*2*1
	/*
		1.方法的作用: 求某个数的阶乘 
		2.返回值: int
		3.参数: int i =5
		
		临界条件: i=1 1的阶乘就是1
		返回值: 阶乘的结果,如果参数是<0的值,返回-1
	*/
	public static int recursion(int i){
		if(i<=0){
			return -1;
		}
		if(i==1){
			return 1;
		}
		
		return i*recursion(i-1);
	}
	
	//实现九九乘法表
	//打印几几乘法表  
	public static void cfb(int i){
		if(i<1){
			System.out.println("你输入的数字有误");
			return;
		}
        if (i == 1) {
            System.out.println("1*1=1");
        } else {
			cfb(i-1);
            for(int j=1;j<=i;j++){
				System.out.print(j + "*" + i + "=" + j * i + "\t"); 
			}
				System.out.println();
		}
	}
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值