Java1.5增加了新特性:
可变参数:适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理。
注意:可变参数必须位于最后一项。当可变参数个数多余一个时,必将有一个不是最后一项,所以只支持有一个可变参数。因为参数个数不定,所以当其后边还有相同类型参数时,java无法区分传入的参数属于前一个可变参数还是后边的参数,所以只能让可变参数位于最后一项。
可变参数的特点:
(1)、只能出现在参数列表的最后;
(2)、...位于变量类型和变量名之间,前后有无空格都可以;
(3)、调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中一数组的形式访问可变参数。
如下,我们要计算
a=1+2+3+4+5
b=1+2+3+4+5 +6
c=1+2+3+4+5 +6+7
并且还要计算a+b+c的值
如果我们试用常规方法,将会比较麻烦,
1,分别定义数组abc 并且赋值
2,分别循环abc的值
3,再将abc的值相加
比较麻烦,比较繁琐
如果我们试用可变参数来解决这个题就比较简单了。见一下代码
public class bian {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int a[]={1,2,3,4,5}; //15
int b[]={1,2,3,4,5,6}; //21
int c[]={1,2,3,4,5,6,7}; //28
System.out.println(add(a,b,c)); //打印abc数组中的数据的值
}
public static int add1(int[] ... args){
int n=0;
//第一个for获得可变参数的个数,第二个for获得每个可变参数的长度,因为该参数是一个一位数组。
for(int i=0; i<args.length; i++){
for(int j=0;j<args[i].length;j++)
n=n+args[i][j];
}
return n;
}
}
爆款云服务器s6 2核4G 低至0.46/天,具体规则查看活动详情