數組作爲方法參數和返回值
以前的方法中我們學習了方法的參數和返回值,但是使用的都是基本數據類型。那麼作爲引用類型的數組能否作爲
方法的參數進行傳遞呢,當然是可以的。
數組作爲方法參數傳遞,傳遞的參數是數組內存的地址。
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;
}
方法的參數類型區別
- 分析下列程序代碼,計算輸出結果。
public static void main(String[] args) {
int a = 1;
int b = 2;
System.out.println(a);
System.out.println(b);
change(a, b);
System.out.println(a);
System.out.println(b);
}
public static void change(int a, int b) {
a = a + b;
b = b + a;
}
- 分析下列程序代碼,計算輸出結果。
public static void main(String[] args) {
int[] arr = {1, 3, 5};
System.out.println(arr[0]);
change(arr);
System.out.println(arr[0]);
}
public static void change(int[] arr) {
arr[0] = 200;
}
總結:
方法的參數爲基本類型時,傳遞的是數據值. 方法的參數爲引用類型時,傳遞的是地址值.