陣列作為方法引數和回傳值
- 陣列作為方法引數
- 陣列作為方法回傳值
- 方法引數型別區別
- 代碼展示1
- 代碼展示2
陣列作為方法引數
以前的方法中我們學習了方法的引數和回傳值, 但是使用的都是基本資料型別. 那么作為參考型別的陣列能否作為方法的引數進行傳遞呢, 當然是可以的.
- 陣列作為方法引數傳遞, 傳遞的引數是陣列記憶體的地址
public static void main(String[] args) {
int[] arr = { 1, 3, 5, 7, 9 };
// 呼叫printArray方法,傳遞陣列
printArray(arr);
}
/**
* printArray方法可以對陣列進行遍歷
* @param 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]);
}
}
/**
* getArray 方法回傳一個陣列
* @return 回傳陣列的地址
*/
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);
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;
}
執行結果:

代碼展示2
分析下列程式代碼, 計算輸出結果.
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;
}
注: 方法的引數為基本型別是, 傳遞的是資料值. 方法的引數為參考型別是, 傳遞的是地址值.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/227597.html
標籤:其他
