package w5;
public class TransByValue {
public static void main (String[] args) {
int a = 0;//a为局部变量,在方法中,保存在栈中,必须显式赋值进行初始化
//不可直接输出a
modify (a); System.out.println(a);//result:0
int [] b = new int [1];//通过new创建的为字段变量,是对象的一部分
//保存在堆中,可自动赋初值,可直接输出b[0]
modify(b);
System.out.println(b[0]); //result:1 在modify (b);中不对b[0]++时 此处输出0
}
public static void modify (int a) {
a++;
}
public static void modify (int[] b) {
b[0] ++;//修改的是传入的引用型变量b
b = new int[5];//这里修改的b是modify的形参
for (int i:b)
{
System.out.println(b[i]);
}
}
}
/*输出
0
0
0
0
0
0
1
*/