可变参数jdk1.5后面出现的新特性
作用:作为方法的参数使用,可以接受任意多个同种数据类型的参数
当我们定义一个方法时,方法参数的数据类型已经确定了,但是参数的个数不确定,就可以使用可变参数。
格式:
修饰符 返回值类型 方法名(数据类型...变量名){
方法体;
}
例如:int...a;
String...a;
定义一个类:
public class Demo01 {
public static void main(String[] args) {
//getSum();
//getSum(10);
//getSum(10,20);
int s1 = getSum(10, 20, 30, 40, 50, 60, 70, 80, 90, 100);
System.out.println("s1:"+s1);//s1:550 int s2 = getSum(10, 20);
System.out.println("s2:"+s2);//s2:30 int s3 = getSum();
System.out.println("s3:"+s3);//s3:0
}/* 定义一个方法,计算n个int类型整数的和并返回 已知:求和的数的类型int 未知:要计算多个int类型的和 解决:使用可变参数 ------------------------------------------------------------------- 可变参数的底层就是一个数组,定义不同长度的数组,来存储传递的不同个数 getSum();可变参数就会创建一个长度为0的int类型数组,存储实际参数 int[] a = new int[]{ }; getSum(10);可变参数就会创建一个长度为1的int类型数组,存储实际参数 int[] a = new int[]{10}; getSum(10,20);可变参数就会创建一个长度为2的int类型数组,存储实际参数 int[] a = new int[]{10,20}; getSum(10,20,30,40,50,60,70,80,90,100);可变参数就会创建一个长度为10的int类型数 组,存储实际参数 int[] a = new int[]{10,20,30,40,50,60,70,80,90,100}; */
private static int getSum(int...a) {
//System.out.println(a);
//[I@140e19d //System.out.println(a.length);
//System.out.println(Arrays.toString(a));
//数组累加求和 int sum = 0; for (int i : a) {
sum+=i; 重点:记住可变参数可以接收任意个同种数据类型的元素
}
return sum;
}
}