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