當我們定義一個方法時,有時候不知道確定幾個參數時,那么我們就需要用到可變參數,可變參數就是可以接收不確定多個參數的值。
我們看下語法格式:
修飾符 返回值類型 方法名稱(參數類型... 參數){ …… 方法體 …… 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; } }
輸出結果:
因此,對於不定項的參數,可以使用這種可變參數來靈活處理。