参数传递的问题
基本数据类型与引用数据类型参数传递的问题
程序示例
public class SiKaoTiDemo1 {
public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println("a:" + a + ",b:" + b); // a:10, b:20
change(a, b);
System.out.println("a:" + a + ",b:" + b); // a: ? , b: ?
int[] arr = {1, 2, 3, 4, 5};
change(arr);
System.out.println(arr[1]); // ?
}
public static void change(int a, int b) { // a=10,b=20
System.out.println("a:" + a + ",b:" +b); // a:10, b:20
a = b; // a:20;
b = a + b; // b=20+20=40
System.out.println("a:" + a + ",b:" + b); // a:20, b:40
}
public static void change(int[] arr) { //{1,4,3,8,5}
for (int x = 0; x < arr.length; x++) {
if (arr[x] % 2 == 0) {
arr[x] *= 2;
}
}
}
}
传值内存图解