可变参数
基本概念:
JAVA允许将同一个类中多个同名同功能但是参数个数不同的方法,封装成一个方法。就可以使用可变参数实现。
基本语法:
访问修饰符 返回类型 方法名(数据类型...形参名){
方法体
}
快速入门案例(VarParameter01.java
)
类HspMethod
,方法sum【可以计算2个数的和,3个数的和,4,5。。。】
可变参数的实质是数组
package veriable_parameter;
public class VeriableParameter {
public static void main(String[] args) {
HspMethod hspMethod = new HspMethod();
int sum = hspMethod.getSum(3, 5);
System.out.println(sum);
}
}
/**
* 类``HspMethod``,方法sum【可以计算2个数的和,3个数的和,4,5。。。】
*/
class HspMethod{
/**
* 分析思路:可变参数要求:方法名相同,功能相同,参数不同
* 1.int...表示接受的是可变参数,类型是int,即可以接收多个int(0-n个)
* 2.使用可变参数时,可以当做数组使用,即nums可以当做数组
* 3.遍历nums求和即可
*/
/**
* 返回值类型:int
* 方法名:getSum
* 参数列表:由于参数个数不确定,但是都是求和(功能相同),所以可以使用可变参数:int...nums
*/
public int getSum(int...nums){
int result=0;
for (int i=0;i<nums.length;i++){
result = result+nums[i];
}
return result;
}
}
注意事项和使用细节(重要理解)
- 可变参数的实参可以为0个或任意多个(实参就是传入的参数)
- 可变参数的实参可以为数组(可以传入数组)
- 可变参数的本质就是数组
- 可变参数可以和普通类型的参数一起入放在形参列表,但是必须保证可变参数在最后(因为可变参数可以把前面的普通接收了)
- 一个形参列表中只能出现一个可变参数(因为可变参数会一些类型相同的参数全部接收掉)
可变参数练习
有三个方法,分别实现返回姓名和两门课成绩总分,返回姓名和三门课成绩,返回姓名和五门课成绩,封装成一个可变参数方法
package veriable_parameter;
public class VerParameterExercise {
public static void main(String[] args) {
HspMethod02 method02 = new HspMethod02();
String score = method02.showScore("海康", 43, 86, 168, 168, 168);
System.out.println(score);
}
}
/**
* 有三个方法,分别实现返回姓名和两门课成绩(总分),返回姓名和三门课成绩(总分),返回姓名和五门课成绩(总分)
* 封装成一个可变参数方法
*/
class HspMethod02 {
/**
* 分析思路:
* 返回值:double
* 方法名:showScore
* 参数列表:String name,double...score
*/
public String showScore(String name,double...score){
double sumScore = 0;
for (int i=0;i<score.length;i++){
sumScore+=score[i];
}
String str = name+"\t总共"+score.length+"门课"+"\t成绩总分:"+sumScore;
return str;
}
}