Java中的可变参数


当我们定义一个方法时,有时候不知道确定几个参数时,那么我们就需要用到可变参数,可变参数就是可以接收不确定多个参数的值。

我们看下语法格式:

修饰符  返回值类型  方法名称(参数类型... 参数){
……
方法体
……

return 返回值;

}

我们看到可变参数 是用参数类型加省略号…表示,如下

int...num
double...num

需要注意的是:

1.一个方法最多只有1个可变参数;

2.必须是方法的最后一个参数,也就是说方法中可以除了可变参数外,还可以在可变参数前  有其他的参数,如下

public static int add(int count, int...num)

 

示例:

我们要统计几个学生的成绩总和,但是有可能每次是5个,也有可能是8个,那么我们就需要用的可变参数,我们看下这个方法如何写?

    public  static int add(int...score){
        int sum = 0;
        for (int i = 0; i < score.length; i++) {
            sum += score[i];
        }
        return sum;
    }

可变参数的本质就是一个数组,我们可以通过下标来操作。

public class Demo04 {
    public static void main(String[] args) {
        //可变参数
        int sum = add(50,80,90,30,70);
        System.out.println(sum);

    }

    public  static int add(int...score){
        int sum = 0;
        for (int i = 0; i < score.length; i++) {
            sum += score[i];
        }
        return sum;
    }

}

我们看到,传递是50,80,90,30,70 这5个数字,相当于方法调用时的5个形参(int a, int b,int c,int d, int e ),那么结果为

 

 

我们把参数换成其他,再看下结果:

public class Demo04 {
    public static void main(String[] args) {
        //可变参数
        int sum = add(50,80,90,30,70,80,99,100,77);
        System.out.println(sum);

    }

    public  static int add(int...score){
        int sum = 0;
        for (int i = 0; i < score.length; i++) {
            sum += score[i];
        }
        return sum;
    }

}

输出结果:

 

 

因此,对于不定项的参数,可以使用这种可变参数来灵活处理。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM