专业的JAVA编程教程与资源

网站首页 > java教程 正文

java可变参数(java可变参数怎么用)

temp10 2024-11-06 12:14:03 java教程 6 ℃ 0 评论

/**

* 测试可变参数 variable可变 argument参数

java可变参数(java可变参数怎么用)

*/

public class TestVariableArgument {

public static int sum(int a, int b){

//一般当需要的形参列表的种类数量已知并且固定时 通过,将参数隔开一同传进方法

int sum = a+b;

System.out.println("和为"+sum);

return sum;

}

public static int sum(int ... numbers){

//当需要的形参列表的种类已知但数量不确定的时候 通过可变参数来写形参列表

//格式 (类型 ... 形参名) 当int实参传进方法时会被放到int[]数组numbers中 数组的长度为参数的数量

int sum=0;

for (int number:numbers){

//参数放到数组中传进来 通过对数组遍历来使用每一个参数

sum +=number;

}

return sum;

}

public static int sum(double d,long l,int i,int...numbers){

//方法只允许使用一个可变参数 如果还有其他参数 需要将可变参数放到形参列表的最后

int sum=(int)d+(int)l+i;

for (int j=0;j<numbers.length;j++){

sum+=numbers[j];

}

return sum;

}

// public static int sum(int[] numbers){

// //(int[]数组numbers)和(int...numbers)可变参数冲突 两者不可重载

// int sum=0;

// for (int n:numbers){

// sum+=n;

// }

// return sum;

// }

public static void main(String[] args) {

sum(1,2);

//调用方法时会优先匹配固定参数列表的方法 上面定义了sum(a,b)方法 这里不会调用sum(int...numbers)

System.out.println(sum(1,2,3,4,5,6,7));

//只要是符合可变参数的类型 传多少个参数都可以 这里传入的不是数组 在方法内部会生成数组存放这些参数

sum(1.0,2L,5,2,3,4,5,6);

//第一个是double 第一个是long 第三个是int 从第四个开始会放入numbers[]数组中

int[] n = {1,2,3,4,5};

System.out.println(sum(n));

//可以将数组传进来 数组会匹配可变参数 这也是定义方法时形参列表写数组会和可变参数冲突的原因 可变参数支持传入实参数组 但形参为数组时不支持传入单一或多个变量参数

}

}

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表