java可变参数就是一个定义一个参数数组。这个数组与普通的数组定义时有所区别,在定义时是在函数的参数中用三点(...)后加数组名称。
例如:累加所有参数的和
public static int add(int...args){
int sum=0;
for(int i=0;i<args.length;i++){
sum+=args[i];
}
return sum;
}
还可以在参数数组前定义很多的固定格式的参数:
例如:第一个参数是字符串,第二个参数为单精度实娄,第三个为可变参数:字符数组
static void printArgs(String s,float f,char...args){
System.out.println("第一个参数"+s+"第二个参数"+f);
System.out.print("参数数组列表");
for(int i=0;i<args.length;i++){
System.out.print(args[i]+" ");
}
}
要点:可变参是必须定义在函数的最后一个参数,不能定义了可以参数后面还有其他固定格式的参数。
例如:demo(String s,int...args,char c) 是错误的
正确方法为:demo(String s,char c,int...args)
在使用可变参数的函数时,可变参数是不用输入也能调用函数的,而固定格式的参数必须输入才能调用函数。
例如:调用上面的函数 add();是正确的。
printArgs();是错误的。
最少输入前面个个固定参数才能调用函数printArgs,
正确调用:printArgs("pi=",3.14159265f,'a','b','c');
printArgs("pi=",3.14159265f); |