Java基础知识四(方法,方法的重载)

Java基础知识(四)

方法的概述

1、就是具有某种特定功能的代码块

2、比如有一些代码需要反复编写和执行,将这块代码使用大括号包裹起来,取一个名字,下次需要的使用直接通过名字进行调用

3、方法的好处

​ 1、提高了代码的复用性

​ 2、将方法的实现封装起来,外界是无法看到的,提高了代码的安全性

​ 3、简化了逻辑的思维

方法的定义

直男

撩妹

public static 撩妹(金钱 时间) {

​ 花金钱请吃饭

​ 花时间陪她

​ 芳心

}

1、格式

修饰符 返回值类型 方法名称(参数列表) {

​ 方法体;

​ return 语句;

}

2、解释

​ 1、修饰符现在统一写成public static

​ 2、返回值类型,就是一个数据类型,方法是一个功能,有可能有产出的数据,返回值类型跟产出的数据保持一致

​ 产出一个整数10,写成int,产出字符串"张三",写成String

​ 3、方法名称,是自己的定义的,要保证是一个合法的标识符,方法的命名规则,第一个单词全部小写,从第二个单词开始首字母大写,其他字母小写 getName

​ 4、参数列表:方法是一个功能,可能需要一些数据才能完成这个功能,这些数据有可能是一个、多个、或者没有。在内存中开辟一个空间,当做容器,用来接收传递来的实参

​ 5、方法体 真正完成这个功能的代码

​ 6、return语句,方法可能会有一些产出,通过return将产出的数据返回回去,返回给谁?谁调用我我就返回给谁,返回的数据必须跟返回值类型保持一致

方法的注意事项

1、方法不调用就不会执行

2、方法是定义在类中方法外,千万不要定义在主方法中,方法和方法都是平级的,可以定义在main方法上面,也可以定义在main方法下面,一般都是定义在main方法下面

3、方法可以相互调用,甚至方法可以自己调用自己

4、形式参数:相当于声明两个变量,既然是声明变量肯定要给数据类型,jvm才知道分配多大的内存空间,形式参数可以有,也可以没有,也可以有多个,多个参数使用逗号进行分割

​ (int a ,int b ) a和b是变量名,可以任意取名

5、return语句

​ return语句返回的数据必须跟返回值类型保持一致

​ 假如不需要返回数据,写成return; return;可以省略不写,但是返回值类型必须写成void

6、实际参数:

​ 实际参数需要确定的值,目的就是给形式列表进行赋值,不需要数据类型

方法的调用

1、直接调用【遇到在说】

​ 方法名(实际参数);

​ 有些方法不需要产出内容,只是打印或者给某个数据赋值,就可以直接调用

2、输出调用

​ System.out.println(方法名(实际参数));

​ 方法的返回值结果,我只想打印看一下进行验证,就可以使用输出调用

3、赋值调用[常用]

int sum = 方法名(实际参数);

​ 方法的返回值结果还要做后续的逻辑处理,必须使用赋值调用,将结果赋值给一个变量

class Demo01_方法的定义 {
    
    

	public static void main(String[] args) {
    
    
		int a = 1;
		int b = 2;
		//直接调用
		//getSum(a,b);//什么也不会打印,因为没有打印语句

		//输出调用
		//System.out.println(getSum(a,b));
		int sum = getSum(a,b);
		System.out.println(sum * sum);

	
	}

	/*
		定义一个方法,求两个数的和
		参数列表  两个整数
		返回值    两个数的和   int
	*/
	public static int getSum(int a, int b) {
    
    
		int sum = a + b;
		return sum;
	}

	/*
		做辣子鸡
		参数列表 辣椒   鸡
		return   一盘辣子鸡
	
	*/

	/*public static 盘  做辣子鸡(辣椒 l, 鸡  j) {
		倒油
		放鸡
		放辣椒
		装盘
		return 一盘辣子鸡;
	
	}*/
}

方法的重载

1、overload 超载,重载

2、如果没有方法的重载

​ 1、一个类似的功能需要定义很多的方法名,对于程序员来说,要记忆大量的方法名,非常的不方便

3、方法的重载

​ 在同一个类中,方法名相同,参数列表不同,和返回值无关

​ 方法名相同,大小写都一样

​ 参数列表不同:(类型不同、个数不同,不是变量名不同)

​ 和返回值无关,不需要再关注返回值

4、System.out中的println方法什么类型都可以进行打印,说明这个类中存在大量的方法的重载

class Demo05_方法的重载 {
    
    
	//在同一个类中,方法名相同,参数列表不同,和返回值无关
	//	参数列表不同:(类型不同、个数不同,不是变量名不同)
	public static void main(String[] args) {
    
    
		//求两个整数的和
		System.out.println(getSum(10,20));
			
	}
	//求两个整数的和
	public static int getSum(int a, int b) {
    
    
		System.out.println("求两个整数的和方法执行了");
		return a + b;
	}
	//求两个小数的和
	public static double getSum(double a,double b) {
    
    
		System.out.println("求两个小数的和方法执行了");
		return a + b;
	}
	//方法的重复定义,不是方法的重载, 因为参数都是int
	/*public static boolean getSum(int b, int a) {
		return true;
	}*/
	//不是方法的重载,方法名不同
	
	public static void getsum(int a) {
    
    
	
	}

	//是方法的重载
	
	public static void getSum(double a, int b) {
    
    
		
	}

	//是方法的重载,参数的类型不同
	public static int getSum(int a, double b) {
    
    
		return 1;
	}

	//是方法的重载,参数的个数不同
	public static void getSum(int a, int b, int c) {
    
    
	
	}








	//求两个小数的和
	public static double getSum1(double a,double b) {
    
    
		return a + b;
	}
	//求一个整数和一个小数的和
	public static double getSum2(int a, double b) {
    
    
		return a + b;
	}

}

猜你喜欢

转载自blog.csdn.net/lizicheng1996/article/details/113144180