心得:以前通過練習知道,基本數據類型通過方法參數傳值不接收返回值,是不會改變的,引用類型通過方法參數傳值,進行修改是會改變的.但是不知道真正原理,今天學習了內存存儲,結合以前學習的內存存儲,恍然大悟,原理上圖,還是要打好基礎知識,厚積薄發。

1 /* 2 基本類型的值傳遞 3 */ 4 public class MethodDemo{ 5 //不同方法內存不共享 6 public static void main(String[] args) { 7 int i = 10; 8 swap(i); 9 System.out.println(i);//10 10 } 11 public static int swap(int i){ 12 System.out.println(i);//10 13 i = 20; 14 System.out.println(i);//20 15 return i; 16 } 17 }

/* 引用數據類型的值傳遞 */ public class MethodDemo2{ public static void main(String[] args) { int[] array = {3,4}; swap(array); System.out.println(array[0]+"---"+array[1]);//4 3 } // 交換兩個變量的位置 public static int[] swap(int[] array){ int temp = array[0]; array[0] = array[1]; array[1] = temp; System.out.println(array[0]+"---"+array[1]);//4 3 return array; } }