Java中的可变长参数

  可变长参数的定义

  与一般方法没多大差别,只不过形参多了...(三个点)

  方法名(数据类型 ... 变量名){}

  小案例:

  

public class ParamDemo {
    
    public static void main(String[] args) {
        //main方法也算是不定长参数的方法:(String ... args)
        
/*-----------------------1、任意个数测试------------------------------*/        
        int sum1 = 0;
        sum1 = add(2,3,4,5,6);//任意个 int型 参数
        System.out.println(sum1);
        
/*-----------------------2、数组测试------------------------------*/        
        int sum2 = 0;
        int[] nums = {2,3,4,5,6};
        sum2 = add(nums);//int 数组也是可以作为可变参数的,但反过来就不行,不定个数的参数无法作为参数为数组类型的方法的参数
        System.out.println(sum2);
        
/*-----------------------3、优先级测试------------------------------*/        
        int sum3 = 0;
        sum3 = add(2, 3);
        System.out.println(sum3);
        
    }
    
    
    /**
     * 求任意个整数相加之和
     * @param nums 任意个整数
     * @return int 和
     */
    public static int add(int ... nums){
        int sum = 0;
        for (int i : nums) {//遍历参数
            sum+=i;
        }
        return sum;
    }

/*----------------------------------- ----不可重载-----------------------------------------------*/
//    public static int add(int[] nums){
//        //参数为int数组类型的方法不能重载
//    }

    
/*----------------------------------- ----优先选择定长参数的方法-----------------------------------------------*/
    public static int add(int a, int b){
        return a+b;
    }
    
}            

 

posted @ 2016-11-08 16:37  Binbiubiu  阅读(266)  评论(0编辑  收藏  举报