题目引出:
在以前我们是这样做的:
帮我们要求和的数据写在数组内即可
public class Test01 {
public static void main(String[] args) {
int []arr={1,2,3,4,5,6,7,8,9,10};
int sum = getSum(arr);
System.out.println(sum);
}
public static int getSum( int []arr){
int sum=0;
for (int i : arr) {
sum = sum + i;
}
return sum;
}
}
但是很麻烦,
所以学习可变参数
作用:在形参中接收多个数据
格式:修饰符 返回值类型 方法名(参数类型... 形参名){}
可变参数底层是数组
public class Test02 {
public static void main(String[] args) {
int sum = getSum(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
System.out.println(sum);
}
public static int getSum(int...args){
System.out.println(args);//[I@776ec8df格式是数组的地址值,所以说可变参数底层是数组
int sum=0;
//因为底层是数组,所以可以用遍历来求和
//用其他的遍历方法也行
for (int i = 0; i < args.length; i++) {
sum=sum+args[i];
}
return sum;
}
}
可变参数细节:
- 方法形参内最多只能写一个可变参数
- 若还有其他形参,可变参数一定要写走在最后,如图: