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