心得:以前通过练习知道,基本数据类型通过方法参数传值不接收返回值,是不会改变的,引用类型通过方法参数传值,进行修改是会改变的.但是不知道真正原理,今天学习了内存存储,结合以前学习的内存存储,恍然大悟,原理上图,还是要打好基础知识,厚积薄发。
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);//1010 }11 public static int swap(int i){12 System.out.println(i);//1013 i = 20;14 System.out.println(i);//2015 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; } }