/*
* 可变参数:即参数可变。
*
* 格式:
* 方法名(参数类型… 参数名)
*
* 可变参数的本质是一个数组,会将传入的多个参数转成一个数组,而参数名就是数组引用
*
* 注意事项:
* 1:可变参数与数组类型不能重载,因为二者本质上是一样的。数组可以传入可变参数的方法.但是几个数不能传入数组的方法.
* 2:可变参数必须放在最后
*/
public class Demo2 {
public static void main(String[] args) {
System.out.println(getSum(10, 20));
System.out.println(getSum(10, 20,30));
int[] arr = new int[]{1,23,4,65,76,1};
System.out.println(getSum(arr));
// System.out.println(getSum(1,3,4,6,7,86,64,45,3));
System.out.println(myGetSum("这些数的和:", 1,3,4,6,7,86,64,45,3));
}
//求两个数的和
public static int getSum(int a,int b) {
return a+b;
}
//求三个数的和
public static int getSum(int a,int b,int c) {
return a+b+c;
}
//求任意个数的数组内所有数的和
// public static int getSum(int[] arr) {
//
// int sum = 0;
// for (int i = 0; i < arr.length; i++) {
// sum += arr[i];
// }
// return sum;
// }
//求任意个数的和
//可变参数的定义后边会有一个形参变量.可变参数的方法在调用时,会一次传入多个该类型的对象.这些对象传进来后,会组织成一个数组,而形参变量就是这个数组的引用.
public static int getSum(int... a){
System.out.println("调用了多个参数的可变参数方法");
int sum = 0;
for (int i = 0; i < a.length; i++) {
sum += a[i];
}
return sum;
}
public static String myGetSum(String s,int... a){
int sum = 0;
for (int i = 0; i < a.length; i++) {
sum += a[i];
}
return s+sum;
}
} |
|