Java中的數組是一種非常重要的數據類型,它可以用來存儲多個相同類型的數據。在Java中,數組可以作為方法的參數傳遞給方法,而且可以通過這種傳遞來傳遞數據集。關于Java數組的實參和形參,我們可以通過以下幾個方面來深入了解。
數組的實參
數組作為方法的實參傳遞,表示將一個數組的地址傳遞給方法。這樣方法就可以通過這個地址來操作這個數組,包括修改數組元素的值和讀取數組中的數據。在實參傳遞的時候,Java會將數組的地址復制一份給方法,這個復制的地址就是實參。因此,在方法中修改數組元素的值,會同時修改方法外的數組元素值。
public static void main(String[] args) { int[] arr = {1, 2, 3, 4}; changeArray(arr); System.out.println(Arrays.toString(arr)); } public static void changeArray(int[] arr) { arr[0] = 0; }
上述代碼示例中,我們定義了一個數組arr,并將它作為實參傳遞給方法changeArray。在方法中,我們將數組arr的第一個元素修改為0,打印數組arr,將會輸出[0, 2, 3, 4]。說明在方法中修改數組元素的值同時也修改了方法外的數組元素值。
數組的形參
數組作為方法的形參,表示方法的參數列表中聲明了一個數組類型的變量,方法中可以通過這個變量操作傳遞過來的數組。在形參中聲明數組時,需要指定數組的類型和名稱。在方法中可以通過數組名稱來操作傳遞過來的實參,但無法修改實參地址。因此,如果在方法中將形參賦值給另一個數組變量,那么這個新數組只能在方法中使用。
public static void main(String[] args) { int[] arr = {1, 2, 3, 4}; int[] newArr = getNewArray(arr); System.out.println(Arrays.toString(newArr)); } public static int[] getNewArray(int[] arr) { int[] newArray = new int[arr.length]; for (int i = 0; i< arr.length; i++) { newArray[i] = arr[i] * 2; } return newArray; }
上述代碼示例中,我們定義了一個數組arr,并將它作為實參傳遞給方法getNewArray。在方法中,我們通過循環將數組的每個元素值乘以2,并將結果保存在新數組newArray中。然后返回新數組newArray,并將它賦值給了數組變量newArr,最后打印新數組newArr,將會輸出[2, 4, 6, 8]。
總結
數組作為方法的形參和實參,有著不同的使用方法。在實參中,Java會將數組的地址復制一份給方法,可以在方法中操作數組并修改數組元素值。在形參中,需要聲明一個數組類型的變量,可以在方法中通過數組名稱來操作傳遞過來的實參,但無法修改實參地址。