方法调用的基本内存原理:先进后出
基本数据类型:整数类型、浮点数类型、布尔类型、字符类型;数据类型存储在自己的空间
引用数据类型:除了以上数据类型都是;数据值是存储在其他空间中,变量中存储的是地址值
public class change {public static void main(String[] args) {int number = 100;System.out.println("调用change方法前:" + number);change(number);System.out.println("调用change方法后:" + number);}public static void change(int number) {number = 200;//在此范围内有效}
}
结论:传递基本数据类型时,传递的是真实的数据,形参的改变不影响实际参数的值
若要实现改变效果,需要在函数里面添加return number;返回给主方法
public class change2 {public static void main(String[] args) {int[] arr = {1, 2, 3};System.out.println("调用change方法前:" + arr[1]);change(arr);System.out.println("调用change方法后:" + arr[1]);}public static void change(int[] arr) {arr[1] = 200;}
}
结论:传递引用数据类型时,传递的是地址值,形参的改变影响实际参数的值