值传递
public class Test {
static void t(int a) {
a = 0;
}
public static void main(String[] args) {
int age = 100;
t(age);
System.out.println(age);
}
}
代码分析:age是一个整型变量,表示100,t(age)相当于t(100),是把100这个值传递给t方法,然后a=0,换为age=100,于是结果为
地址传递
public class Test {
static void t(int a[]) {
a [0]= 0;
}
public static void main(String[] args) {
int age[] = {100};
t(age);
System.out.println(age[0]);
}
}
先看结果
这是因为在调用t方法时是将age数组的地址传递给了t方法中的a,age[0]最初是100,将age地址传给a后,又执行了方法中的步骤,将0赋给了数组首元素,及age[0],故运行结果为0.图解如下