package VarArgs;
/*
* 可变参数:是jdk1.5之后出现的新特性
* 使用前提:
* 当方法的参数列表数据类型已经确定,但是参数的个数不确定,就可以使用可变参数
* 使用格式:定义方法时使用
* 修饰符 返回值类型 方法名(数据类型...变量名){}
* 可变参数的原理:
* 可变参数底层就是一个数组,根据传递参数个数不同,会创建不同长度的数组,来存储这些参数
* 传递的参数个数,可以是0个(不传递),1,2。。。多个
* 注意事项:
* 1。一个方法的参数列表,只能有一个可变参数(个数)
* 2。如果方法的参数有多个,那么可变参数必须写在参数列表的末尾(位置)。
* 可变参数的特殊(终极)写法
* Public static void method(Object...obj)
* */
public class Demo01VarArgs {
public static void main(String[] args) {
add(1, 2, 3);//[I@4617c264
System.out.println(add(1, 2, 3, 4));//10
}
//定义一个方法,计算两个int类型整数的和
public static int sum(int a, int b) {
int sum = a + b;
return sum;
}
/*
* 定义计算0-n整数和的方法
* 已知:计算整数的和,数据类型已经确定是int
* 但是参数的个数不确定,不知道要计算几个整数的和,就可以使用可变参数
* add():创建一个长度为0的数组,
* */
public static int add(int... array) {
//System.out.println(array);
//System.out.println(array.length);//0
int sum = 0;
//遍历数组,获取数组中的每一个元素
for (int i = 0; i < array.length; i++) {
sum = sum + array[i];
}
return sum;
}
}
可变参数传进去就相当于传进去一个数组。