目录
前言:我们不讲什么是方法,请看下面的代码
以上代码完成了两个求和的功能,每一次求和的时候都把代码重新写了一遍,显然代码没有得到“重复利用”,表面上看是三个功能,但实际上只是“一个”求和功能,只不过每一次参与求和的实际数值不同。java中有没有一种方式或者语法,能让我们把功能性代码写一次,然后给这个功能性代码传递不同的数据,来完成对应的功能呢?答案是:当然有。这就需要我们掌握java语言中的方法机制,接下来大家看看改进之后的代码:
运行结果如下:
通过以上程序我们可以看出,其实方法也没什么神秘的,方法其实就是一段普通的代码片段,并且这段代码可以完成某个特定的功能,而且可以被重复的调用/使用。java中的方法又叫做method,在C语言中叫做函数。
从现在开始大家以后在写代码的时候就要有定义方法的意识了,只要是可以独立出来的功能,我们都可以定义为单独的一个方法来完成,如果以后需要使用此功能时直接调用这个方法就行了,不要把所有的代码都扔到main方法当中,这样会导致程序的“复用性”很差。
一、方法的概念
方法(method)是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集
-
注意:
-
方法必须先创建才可以使用,该过程成为方法定义
-
方法创建后并不是直接可以运行的,需要手动使用后,才执行,该过程成为方法调用
-
二、定义和调用
1.带参数
定义格式:
参数:由数据类型和变量名组成
数据类型 变量名 例如:int a
public static void 方法名 (参数1) {
方法体;
}
public static void 方法名 (参数1, 参数2, 参数3...) {
方法体;
}
注意:多个参数之间需要用逗号( , )隔开
调用格式:
方法名(参数)
方法名(参数1,参数2)
sum (10);
getMax(10,20)
形参和实参:
形参:方法定义中的参数
实参:方法调用中的参数
2.带返回值
定义格式:
public static 数据类型 方法名(参数){
return 数据;
}
注意:方法定义时return后面的返回值与方法定义上的数据类型要匹配
调用格式:
方法名(参数);
数据类型 变量名 = 方法名(参数)
方法的注意事项:
方法不能嵌套定义:
void表示无返回值,可以省略return,也可以单独的书写return,后面不加数据
3.方法的重载
概念:在同一个类定义多个方法,方法名一样,但是参数类型不一样
public class MethodDemo {
public static float fn(int a) {
//方法体
}
public static int fn(int a , int b) {
//方法体
}
}
举例: