前言
本博客文章已收录至专栏Java SE,阅读其他有关博客笔记请转至该专栏下查阅
传送门 -->程序员雨空集_Java SE专栏
方法
定义
方法是一段可重用的代码块,用于执行特定的任务
是程序中最小的执行单元
无参数方法定义与调用
无参方法是指在定义方法时,不需要传入任何参数的方法。它没有任何形式参数,也不需要在调用时传递实际参数值
- 定义格式:
修饰符 返回类型 方法名() {
// 方法体
}
- 范例:
public static void method ( ) {
// 方法体;
}
- 调用格式:
方法名();
- 范例:
method();
- 注意:方法必须先定义,后调用,否则程序将报错
public class MyClass {
public static void main(String[] args) {
// 调用无参方法
myMethod();
}
public static void myMethod() {
// 无参方法体
System.out.println("这是一个无参方法。");
}
}
有参数方法定义与调用
有参方法是指在定义方法时,需要传入一个或多个参数的方法。它接受实际参数值作为输入,并在方法体内使用这些参数进行逻辑处理
- 定义格式:
修饰符 返回类型 方法名(参数类型 参数名1, 参数类型 参数名2, ...) {
// 方法体
// return 返回值;
}
- 范例:
public static int getMax (int a, int b) {
// 方法体;
....
//return 返回值;
}
- 注意:
方法定义时,参数中的数据类型与变量名都不能缺少,缺少任意一个程序将报错
方法定义时,多个参数之间使用逗号( , )分隔
- 调用格式:
方法名(参数);
方法名(参数1,参数2);
- 范例:
isEvenNumber(10);
getMax(10,20);
public class MyClass {
public static void main(String[] args) {
// 调用有参方法
int result = addNumbers(10, 20);
System.out.println("两个数的和为:" + result);
}
public static int addNumbers(int num1, int num2) {
// 有参方法体,计算两个数的和
int sum = num1 + num2;
return sum;
}
}
在上述代码中,addNumbers(int num1, int num2)是一个有参方法,它接受两个整型参数 num1 和 num2。在main方法中,通过调用addNumbers(10, 20)来执行该有参方法,并将返回的结果赋值给 result 变量。然后,使用 System.out.println 方法输出结果
在addNumbers 方法体中,将 num1 和 num2 相加得到结果 sum,并通过 return 语句返回该结果。因此,在调用 addNumbers 方法时,传入的实际参数值为 10 和 20,方法内部会计算这两个数的和并返回
形参和实参
形参是在方法定义中声明的参数,用于接收方法调用时传递的实际参数值。形参在方法定义时作为方法的参数列表中的一部分,用于定义方法在执行时所需的输入数据类型和标识符。
实参是在方法调用时传递给方法的具体参数值。实参可以是常量、变量、表达式或方法的返回值,用于提供给方法内部的形参使用。
在方法调用时,需要按照方法定义中形参的类型和顺序传递对应的实参值。实参的数量、类型和顺序必须与方法定义中形参的要求相匹配,以确保正确地传递数据给方法。
public class MyClass {
public static void main(String[] args) {
int result = addNumbers(10, 20);
System.out.println("两个数的和为:" + result);
}
public static int addNumbers(int num1, int num2) {
int sum = num1 + num2;
return sum;
}
}
在上面的代码中,addNumbers
方法有两个形参 num1
和 num2
,在调用该方法时,传递的实参值 10
和 20
就是实参
在上述代码中,addNumbers(10, 20)
方法调用中的 10
和 20
就是传递给 addNumbers
方法的实参值,这两个实参值会被赋值给 num1
和 num2
形参,在方法体内部进行计算并返回结果
方法重载
简单说,参数不同的方法确有着相同的方法名
调用时根据参数确定调用哪个方法
方法重载的目的是为了提供更灵活的方法调用方式,根据不同的参数类型和数量,选择合适的方法进行调用
条件:
- 多个方法在同一个类中
- 多个方法具有相同的方法名
- 多个方法的参数不相同,类型不同或者数量不同
示例:
public class MyClass {
public static void main(String[] args) {
int sum1 = addNumbers(10, 20);
System.out.println("两个整数的和为:" + sum1);
double sum2 = addNumbers(3.5, 4.2);
System.out.println("两个浮点数的和为:" + sum2);
int sum3 = addNumbers(5, 10, 15);
System.out.println("三个整数的和为:" + sum3);
}
public static int addNumbers(int num1, int num2) {
int sum = num1 + num2;
return sum;
}
public static double addNumbers(double num1, double num2) {
double sum = num1 + num2;
return sum;
}
public static int addNumbers(int num1, int num2, int num3) {
int sum = num1 + num2 + num3;
return sum;
}
}
在上述代码中,addNumbers 方法被重载了三次。第一个方法接收两个整数参数,第二个方法接收两个浮点数参数,第三个方法接收三个整数参数。根据不同的参数类型和数量,编译器会根据方法调用时提供的实参来确定调用哪个重载方法
在 main 方法中,分别调用了这三个重载方法,并输出了计算结果。根据传递的实参类型和数量,选择合适的重载方法进行调用,从而实现了方法重载的灵活调用