闭关修炼100天 JavaEE乱杀 第五天

本文介绍了JavaEE中的方法重载概念,包括其定义、应用场景以及如何在类中实现。同时,通过实例展示了递归的概念和在一维数组静态和动态分配上的初始化过程。
摘要由CSDN通过智能技术生成

闭关修炼100天 JavaEE乱杀 第五天

函数的重载

条件:
1.在同一个类中
2.方法名必须一致
3.参数列表的个数或者类型不一致
4.与返回值无关
好处:系统会根据实参类型自动匹配到对应的方法中
应用场景:在同一个类中,多个方法功能大概一致,但是细节实现不一致,就可以考虑使用重载

public class Test04{
	/**
		知识点:方法的重载
		概念:方法之间的关系
		需求1:设计一个方法,传入两个int值,返回最大值 -- getMax(int a,int b)
		需求2:设计一个方法,传入三个int值,返回最大值 -- getMax(int a,int b,int c)
		需求3:设计一个方法,传入两个double值,返回最大值 -- getMax(double a,double b)
		需求4:设计一个方法,传入三个double值,返回最大值 -- getMax(double a,double b,double c)
		
		设计方法的步骤:
			1.考虑方法名(见名知意)
			2.考虑形参(几个?类型?)
			3.考虑返回值(需不需要?返回值类型)
		
	*/
	public static void main(String[] args){
		
		//打印getMax方法,前提是该方法必须有返回值
		System.out.println(getMax(10.1,20,30));
	}
	
	public static int getMax(int a,int b){
		return (a>b)?a:b;
	}
	
	public static int getMax(int a,int b,int c){
		int max = (a>b)?a:b;
		max = (max>c)?max:c;
		return max;
	}
	
	public static double getMax(double a,double b){
		return (a>b)?a:b;
	}
	
	public static double getMax(double a,double b,double c){
		double max = (a>b)?a:b;
		max = (max>c)?max:c;
		return max;
	}
	
	//错误示范:重载要关注形参的类型,不关注形参的名字
	
	//public static void method(String str,int i){
	//}
	
	//public static void method(String ss,int ii){
	//}
	
}

重载我就不过多说,反正功能差不多就用,注意得有形参类型或者个数不一样就行,还得注意在一个类中,

重载底层实现应该很好玩,但我现在真的看不懂,我现在先往后学,后面再来底层。

函数的递归

​ 不死神兔

​ 1 1 2 3 5 8 13 21 34 55 斐波那契数列
​ 找规律1+1 = 2;1+2=3 ;2+3=5;3+5=8;8+5=13从3开始,当前项等于前两项相加
​ 找出口第一个为1,第二个为2,凭借这两个和上面规律就能算出所有数,这就是出口,记住该怎么找出口,你的出口那几个数通过上面规律就能获取所有项,这就是出口,也就能用递归

public class Test02{
	
	public static void main(String[] args){
		
		int num = gerRabbit(7);
		System.out.println(num);
	}	
		
	public static int gerRabbit(int mouth){
		if(mouth == 1 || mouth == 2){
			return 1;
		}
		else{
			return gerRabbit(mouth - 1) + gerRabbit(mouth - 2);
		}
	}		
}

看完上面你应该明白递归了,其实递归看着不难,重要的是你能想到用递归,记得我给你写的那句话吗?如果所有数都能让那几个数通过规律推完,那就用递归。

一维数组静态分配初始化图

在这里插入图片描述

一维数组动态分配初始化图

在这里插入图片描述

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值