题目引出:
在以前我们是这样做的:
帮我们要求和的数据写在数组内即可
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;}
}
可变参数细节:
- 方法形参内最多只能写一个可变参数
- 若还有其他形参,可变参数一定要写走在最后,如图: