Java之可变参数(动态参数)详解(String...params)

例题:

计算2个数的和、3个数的和、4个数的和...N个数的和

如果使用传统方法我们发现是枯燥且繁琐的

public class VariableParameters {
    //传统方法
    public void sum1(int n1,int n2){//计算2个数的和
        int n = n1+n2;
    }
    public void sum2(int n1,int n2,int n3){//计算3个数的和
        
        int n = n1+n2+n3;
    }
    public void sum3(int n1,int n2,int n3,int n4){//计算4个数的和
        int n = n1+n2+n3+n4;
    }
}

接下来我们使用动态参数的方法

public class VariableParameters {
public int sum(int...sums){//此时形参列表里传入的变为数组
        int rst = 0;
        if(sums.length>0){//判断是否有参数传入
            rst=sums[0];
        for (int i = 1; i < sums.length; i++) {//遍历求和
            rst+=sums[i];
            }
        }
        return rst;
    }
}

//测试上述代码
    public static void main(String[] args) {
        VariableParameters vp = new VariableParameters();
        System.out.println("和为"+vp.sum(1,2,3));
        System.out.println("和为"+vp.sum(1,2,8));

    }

int...sums(sums为自定义)即为可变参数/动态参数

details:

  1. 可变(动态)参数的实参为0-N个,可以为0(这也是为何上图代码先判断sums.length>0);
  2. 可变(动态)参数的本质就是数组;
  3. 可变(动态)参数的实参可以为数组;
    public class VariableParameters {
        public void T(int...t1){
            System.out.println(t1.length);
    //输出数组长度,确认是否传入数组,如果数组可传入,长度应为3
        }
    
     public static void main(String[] args) {//传入数组n
            VariableParameters vp = new VariableParameters();
            int[] n = new int[3];
            n[0]=1;
            n[1]=2;
            n[2]=3;
            vp.T(n);
        }
    
  4. 可变(动态)参数可以和普通参数放一起,但可变参数必须放最后;

    pubilc void N(double d,String...params){
    }
  5. 一个参数列表只能出现一个可变(动态)参数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值