可变参数
解决参数个数不确定引起的问题。
可变参数的本质是一个数组,编码示例
public class ChangedMethod { public static void main(String[] args) { double[] pay=new double[]{1,2,3}; double sunPay1=getSun1(pay); System.out.println("sunPay1:"+sunPay1); double sunPay2=getSun2(pay); System.out.println("sunPay2:"+sunPay2); double sunPay3=getSun3(pay); System.out.println("sunPay3:"+sunPay3); double sunPay4=getSun4(2,pay); System.out.println("sunPay4:"+sunPay4); } static double getSun1(double[] arr) { double sum=0.0; for(double price:arr){ sum += price; } return sum; } //可变参数 static double getSun2(double... arr) { double sum=0.0; for(double price:arr){ sum += price; } return sum; } static double getSun3(double[] arr) { double sum=0.0; for(int index = 0; index
可变参数的本质是一个数组,编码示例运行结果
sunPay1:6.0sunPay2:6.0sunPay3:6.0sunPay4:12.0
可变参数必须作为最后一个参数编码示例
public class ChangedMethod_02 { public static void main(String[] args) { double sun1=getSun1(1,2,3,4); System.out.println("sun1:"+sun1); double sun2=getSun2(1,2,3,4); System.out.println("sun2:"+sun2); double[] pay=new double[]{1,2,3,4}; double sunPay1=getSun1(pay); //不能用方法getSun2(double a, double... arr) System.out.println("sunPay1:"+sunPay1); } static double getSun1(double... arr) { double sum=0.0; for(double price:arr){ sum += price; } return sum; } static double getSun2(double a, double... arr) { double sum=0.0; for(double price:arr){ sum += price; } return sum*a; } }
可变参数必须作为最后一个参数编码示例程序运行结果
sun1:10.0sun2:9.0sunPay1:10.0