①.什么是方法
Java的方法是语句的集合,他们在一起执行一个功能。
- 方法是解决一类问题的步骤的有序集合
- 方法包含于类或对象中
- 方法可在程序中被创建,在其它地方被引用
方法的设计原则:保持方法的原子性,一个方法只用来完成一个功能。
方法的定义:类似于其他语言(C,JavaScript)所说的函数,本质上是一段用来完成特定功能的代码块。
方法包含 方法头 和 方法体,一个方法应当包含:
- 修饰符:[可选]用于告诉编译器如何调用该方法。定义了方法的访问类型。
- 返回值类型:方法可能会有返回值。returnValueType是方法的返回值的数据类型。
某些方法执行了所需的操作,但没有返回值,这种情况returnValueType是关键字void。- 方法名:方法的实际名称。方法名和参数共同构成了方法签名。
- 参数类型:[可选]参数类型像是一个占位符,当方法被调用时,传递相应的值给参数。
这个被传递的值称为实参或变量。参数列表是指方法的参数类型、顺序、参数个数。
形式参数:在方法被调用时用于接受外界输入的数据。
实参:调用方法时具体给方法传递的参数。- 方法体:方法体包含具体语句,定义该方法的功能。
- 返回值:与返回值类型对应,执行完方法后返回相应数据。
②.方法的调用
语法结构:对象名.方法名.(实参列表)
Java支持两种调用方法的方式,它根据方法是否具有返回值来选择。
- 当方法返回一个具体值的时候,方法通常会被当做一个值。
int age = getAge(“iFinder”);- 如果方法的返回值是void,那方法的调用一定是一条语句。例如
System.out.println(“Hello Engineer!”);- Java的传值方法是值传递
③.方法的重载
定义:重载就是在一个类当中,有相同的方法名,但是形参列表不同的参数。
方法重载的规则:
- 方法名称必须相同
- 形参列表必须不同(个数不同 / 类型不同 / 参数排列顺序不同等)
- 方法的返回值类型可以相同,也可以不相同。
- 仅仅返回值类型不同是不足以构成方法的重载的。
实现理论:当方法名称相同时,编译器会根据调用方法的参数个数、参数的类型等去逐个匹配,以选择对应的方法。如果匹配失败,则编译器就会报错。
public class AddMethod {
public static void main(String[] args) {
//创建一个扫描器获取用户输入的数据
Scanner scanner = new Scanner(System.in);
System.out.println("欢迎使用连续加法器,你可以连续对1000个数进行求和");
int i = 0; //记录用户输入到第几个数据了
double[] num = new double[1000];
while(scanner.hasNextDouble()){
if (i >= 1000) {
System.out.println("超出数据存储范围!");
break;
}
num[i] = scanner.nextDouble();
i++;
System.out.println("已经输入了" + i + "个数" + " sum = " + add(num));
}
System.out.println("程序结束!");
}
public static double add(double[] num){
double sum = 0;
for(double x:num) sum += x;
return sum;
}
}