我刚刚开始学习Java,并且对正在查看的一些练习代码有疑问。本质上,我无法理解为什么在这种情况下我们的输出是7 14而不是1414。代码如下:
class Test {
static int s;
public static void main (String [] args)
{
Test p = new Test();
p.start();
System.out.println(s);
}
void start()
{
int x = 7;
twice(x);
System.out.print (x + " ");
}
void twice (int x)
{
x = x* 2;
s = x;
}
}
每次编写时int x
,都会得到一个新变量。因此,当您int x = 7;
在start
方法内部编写代码时,您得到了一个变量。然后,当您(int x)
在twice
方法顶部编写代码时,便得到了第二个变量。它们具有相同的名称这一事实无关紧要-这是两个不同的变量。
现在,当您twice(x)
在start
方法内部编写代码时,它将值7
从第一个x
变量复制到第二个x
变量。之后,您对第二个所做的任何更改x
都不会影响第一个。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句