在java语言开发中,从JDK1.5以后,java允许定义形参长度可变的参数从而允许为方法指定数量不确定的形参。如果在定义方法时在最后一个形参类型后增加3个点即(…);则表明该形参可以接受多个参数值,多个参数值会被当做数组传入。用户若是想定义一个方法,但是在此之前并不知道以后要用的时候想传几个参数进去,可以在方法的参数列表中写参数类型或者数组名,然后在方法内部直接用操作数组的方式操作。
public class 可变参数之数组求和 { public static void main(String[] args) { int i=getSum(100,200,293,56,3,2,2,4,5,32,6,99);//参数传到方法里面变成了长度为12的数组 System.out.println("i sum is "+i); int j=getSum(22,33,55);//参数传到方法里面变成了长度为3的数组 System.out.println("j sum is "+j); double s=getStringSum(3,2.01,3,1.01,2.01,3.01); System.out.println(s); } /* 警告:因为可变参数必须在末尾,所以每个方法只能有一个可变参数。 /错误示例 varargs parameter must be the last parameter(可变参数必须为列表最后一项)/// public static String getStringSum(int a,double...sum,int b) { return a+b+sum; } */ private static int getSum(int...m) {//这里m是一个数组,参数到达这里后会被此方法创建新数组接收 int sum=0; for (int i : m) {//快捷键:m.for sum+=i; } return sum; } public static double getStringSum(int b, double c,int a,double... sum) { double su=0; for (double v : sum) { su+=v; } su=b+c+a+su; return su; } }