public class Demo
{
public static int leftshift(int i, int j)
{
i+=j; //i=i+j
return i;
}
public static void main(String args[])
{
int i = 4, j = 2;
leftshift(i, j);
System.out.println(i);//4
System.out.println(leftshift(i, j));
}
}
话说有点搞不明白System.out.println(i); 输出结果为何和leftshift(i, j); 没有关系呢 ?
值的传递有一个特点就是,函数里面局部数据发生改变,函数外面的值不会变。
如果是地址的传递,则由于是实参和形参同时指向一个对象,所以如果在函数内值发生改变
则,此对象改变,那么值就会变。
public class Demo
{
public static int leftshift(int i, int j)//基本数据类型作为形参,是值的传递
{
i+=j; //i=i+j
return i;
}
public static void main(String args[])
{
int i = 4, j = 2;
leftshift(i, j);
System.out.println(i);//4
System.out.println(leftshift(i, j));
}
} 作者: 喜欢流浪 时间: 2013-5-24 22:33