方法调用的基本内存原理:先进后出
基本数据类型:整数类型、浮点数类型、布尔类型、字符类型;数据类型存储在自己的空间
引用数据类型:除了以上数据类型都是;数据值是存储在其他空间中,变量中存储的是地址值
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;
}
}
结论:传递引用数据类型时,传递的是地址值,形参的改变影响实际参数的值