基本数据类型传递:
public class Test1 {
/*
方法参数传递为基本数据类型:
传入方法中的,是具体的数值
*/
public static void main(String[] args) {
int number = 100;
System.out.println("调用change方法前:" + number);
change(number);
/*
change方法的只能把自己方法里面的number改为200,不能把主方法main的number
改为200
*/
System.out.println("调用change方法后:" + number);
}
public static void change(int number) {
number = 200;
}
}
输出结果:
调用change方法前:100
调用change方法后:100
引用数据类型:
public class Test2 {
/*
方法参数传递为引用数据类型:
传入方法中的,,是内存地址
*/
public static void main(String[] args) {
int[] arr = {10, 20, 30};
System.out.println("调用change方法前:" + arr[1]);
change(arr);
System.out.println("调用change方法后:" + arr[1]);
}
//通过数组下标对堆内存中的数组元素进行更改,所以arr[1]在第二次打印的时会记录200
public static void change(int[] arr) {
arr[1] = 200;
}
}
输出结果:
调用change方法前:20
调用change方法后:200