可变参数
- JDK 1.5开始,Java支持传递同类型的可变参数给一个方法。
- 在方法声明中,在指定参数类型后加一个省略号(…)。
- 一个方法中只能指定一个可变参数,它必须是
方法的最后一个参数
。任何普通的参数必须在它之前声明。
可变参数实例
public class B3KeBianCanShu {
public static void main(String[] args) {
/**
* 新建对象
* 通过 对象.方法名 来调用方法
*/
B3KeBianCanShu b3KeBianCanShu = new B3KeBianCanShu(); //新建对象
b3KeBianCanShu.test(123.123,23,343,434,34,43,677); //没有 static 通过 对象.方法名 调用
b3KeBianCanShu.max(12,343,45,56,5675,676676); //没有 static 通过 对象.方法名 调用
b3KeBianCanShu.max();
max(1.0,12.2323,32323,3434,11111); //声明 static ,可以直接使用
}
/**
* 可变传参必须放在所有参数的,最后面 ,且 类型相同
*/
public void test(double d,int ... i){
System.out.println(i); //输出的是地址
/**
* 是用for-each 可以直接遍历 i ,注意此时 a 就是数组 i 中的每个元素
*/
for(int a : i){
System.out.println(a);
//是用for-each 可以直接遍历 i ,注意此时 a 就是数组 i 中的每个元素
}
}
public static void max(double ... numbers){
if (numbers.length == 0){
System.out.println("数据为空,请输入数据!");
}else {
double result = numbers[0]; // 这里从数组中抓取值,因此,赋值应在判空之后
for (int i=0;i<numbers.length;i++){
if(result< numbers[i]){
result = numbers[i];
}
}
System.out.println(result);
}
}
public void max(int ... numbe){
if (numbe.length == 0){
System.out.println("数据为空,请输入数据!");
}else {
int result = numbe[0]; // 这里从数组中抓取值,因此,赋值应在判空之后
for (int i=0;i<numbe.length;i++){
if(result < numbe[i]){
result = numbe[i];
}
}
System.out.println(result);
}
}
}