1、什么是方法
方法: 语句集合;定义在类中或者对象中;在程序中创建,在其他地方被引用;
方法设计原则:一个方法只完成一个功能。
2、方法定义
修饰符 返回值类型 方法名(参数类型 参数名){
方法体
return 返回值;
}
形式参数:在方法被调用时用于接收外界输入的数据。
实参:调用方法时实际传给方法的数据。
3、方法调用
对象名.方法名(实参列表)
类方法: 类名.方法名
java中只有值传递。
4、方法重载
方法重载: 让一个类的两个方法拥有相同的名称,但是参数不同。执行密切相关任务的方法应该使用相同的名字。比如比较两个int大小的方法max和比较连个double类型参数的max。
**重载的方法必须拥有不同的参数列表。**你不能仅仅依据修饰符或者返回类型的不同来重载方法。参数个数或者有参数类型不同。
package Day01;
/**
* 方法定义和调用
*
* @since 2022/08/11
*/
public class Demo01 {
// main方法是被jvm调用的
public static void main(String[] args) {
int ret = max(10, 10);
System.out.println(ret);
System.out.println(max(10.0, 20.0));
}
// static类方法,直接在类名.方法名酒可以调用,对象方法必须新建类对象才可以调用
// java中只用值传递
public static int max(int a, int b) {
int result = 0;
if (a == b) {
System.out.println("a==b");
// return 在这里的作用,退出方法
return 0;
} else if ( a > b) {
result = a;
} else {
result = b;
}
return result;
}
// 方法重载 : 让一个类的两个方法拥有相同的名称,但是参数不同
// 重载的方法必须拥有不同的参数列表。你不能仅仅依据修饰符或者返回类型的不同来重载方法。
// 方法名称相同,参数不同,参数类型不同或者参数个数不同
public static double max(double a, double b) {
double result = 0;
if (a == b) {
System.out.println("a==b");
// return 在这里的作用,退出方法
return 0;
} else if ( a > b) {
result = a;
} else {
result = b;
}
return result;
}
}
5、可变参数
可变参数定义方法:参数类型后面加…
一个方法只能有一个可变参数,并且可变参数必须为方法的最后一个参数。
package Day01;
public class Demo03 {
public static void main(String[] args) {
// 调用的时候想传入几个参数就传入几个
System.out.println(printMax(34, 78, 23, 99, 0, 8));
// 也可以用数组传入,方法重载参数传入的本质就是数组
System.out.println(printMax(new double [] {0, 1, 8}));
}
/**
* 获取不知道一组不知道有多少个传入参数的最大值
*
* @param input 输入参数, 任何普通参数的声明必须在可变参数之前
* @return maxValue
*/
public static double printMax(double ... input) {
if (input.length <= 0) {
System.out.println("No input args");
return 0.0;
}
double result = 0.0;
for (double num : input) {
if (num > result){
result = num;
}
}
return result;
}
}