數組作為方法參數
以前的方法中我們學習了方法的參數和返回值,但是使用的都是基本數據類型。那么作為引用類型的數組能否作為方法的參數進行傳遞呢,當然是可以的。
數組作為方法參數傳遞,傳遞的參數是數組內存的地址。
public static void main(String[] args) { int[] arr = { 1, 3, 5, 7, 9 };
// 調用方法,傳遞數組 printArray(arr); } //創建方法,方法接收數組類型的參數 進行數組的遍歷 public static void printArray(int[] arr) { for (int i = 0; i < arr.length; i++) { System.out.println(arr[i]); } }
數組作為方法返回值
數組作為方法的返回值,返回的是數組的內存地址
public static void main(String[] args) { // 調用方法,接收數組的返回值 // 接收到的是數組的內存地址 int[] arr = getArray(); for (int i = 0; i < arr.length; i++) { System.out.println(arr[i]); } } public static int[] getArray() { int[] arr = { 1, 3, 5, 7, 9 }; //返回數組的地址,返回到調用者 return arr; }
方法的參數類型區別
代碼分析
1.分析下列程序代碼,計算輸出結果
public static void main(String[] args) { int a = 1; int b = 2; System.out.println(a); //1 System.out.println(b); //2 change(a, b); System.out.println(a); //1 System.out.println(b); //2 } public static void change(int a, int b) { a = a + b; b = b + a; }
2. 分析下列程序代碼,計算輸出結果。
public static void main(String[] args) { int[] arr = { 1, 3, 5 }; System.out.println(arr[0]); //1 change(arr); System.out.println(arr[0]); //200 } public static void change(int[] arr) { arr[0] = 200; }
總結:
方法的參數為基本類型時,傳遞的是數據值. 方法的參數為引用類型時,傳遞的是地址值.