public class Test
{
public static void leftshift(int i, int j)
{
i+=j;
// System.out.println(i); 这里i是6
}
public static void main(String args[])
{
int i = 4, j = 2; leftshift(i,j);
System.out.println(i); //请问这个I的值为什么是4?
}
}
请问下面代码调用了函数leftshift为什么i的值没有改变还是4?
还有加注释的地方代码打印不是先读主函数么,为什么打印的顺序是6和4而不是4和6?
public class Test
{
public static void leftshift(int i, int j)
{
i+=j;
System.out.println(i);
}
public static void main(String args[])
{
leftshift4,2); //请问这个I的值为什么是4?//因为leftshift(i,j)里面的i,j都是局部变量,只在 leftshift(int i, int j)里面改变,而你定义的int i,是在主函数里,并不是直接赋值给leftshift(); 如果你是这样赋值的那样就是6啦
}
}
请问下面代码调用了函数leftshift为什么i的值没有改变还是4?
还有加注释的地方代码打印不是先读主函数么,为什么打印的顺序是6和4而不是4和6?:jvm 加载进主函数后,先运行了leftshift(4,2) 这个方法自带syso(i),打印了6,然后主函数运行打印的是你定义的int i=4;