JAVA5特性---可变参数

要求:定义一个方法,可以接收多个整型数据的相加。
范例:用数组解决该问题

public class Demo {
    public static void main(String[] args) {
        System.out.println(add(new int[]{1, 2, 3}));
        System.out.println(add(new int[]{1, 2}));
    }
    
    // 实现任意多个整型数据的相加
    // 因为有多个数据,所以用数组接收
    // return 累加的结果
    public static int add(int[] data) {
        int sum = 0;
        for (int x = 0; x < data.length; x++) {
            sum += data[x];
        }
        return sum;
    }
}

使用数组是因为JDK1.5之前传入方法的参数个数是固定的,无法接收随机个参数。但通过数组接收参数不符合预期,理想的调用形式:add(1,2,3),add(10,20);
该功能从JDK1.5后可以实现,它主要是在方法上使用,定义形式:

[public | protected | private] [static] [final] [abstract] 返回值类型 方法名称(数据类型 ... 变量){
    [return [返回值] ;]
}

上述代码中,[]中的内容可以忽略。上述形式中的参数不再是一个内容,而是多个内容,尽管参数的定义形式变了,但是参数的访问却没变,即进行参数访问的时候按照数组的形式操作。

public class Demo {
    public static void main (String [] args){
        // 可变参数支持数组
        System.out.println(add(new int[] {1,2,3}));// 传递3个整型数据
        // 可变参数支持参数
        System.out.println(add(1,2,3));// 传递3个整型数据
        System.out.println(add(10,20));// 传递2个整型数据
        System.out.println(add());// 不传递数据
    }
    
    //        实现任意多个整型数据的相加操作
    //        由于要接收多个整型数据,所以要用数组完成接收
    //        return 多个整型数据的累加结果
    public static int add(int ... data){
        int sum = 0 ;
        for (int x = 0 ; x < data.length ; x ++){
            sum += data[x] ;
        }
        return sum;
    }
}

在大部分开发中,参数的个数应该是固定,因此可变参数多用于一些程序相关系统类的设计使用上,而不是开发中。可变参数属于数组的变形应用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值