提问人:zebra14420 提问时间:6/4/2015 更新时间:6/4/2015 访问量:53
在 java 中更改变量
Changing variables in java
答:
3赞
Andy Thomas
6/4/2015
#1
当您在 Java 中为任何变量赋值时,只有该变量会更改。
此外,这些特定变量是基元,而不是引用类型。每个变量都包含一个值,而不是对变量之间可能共享的对象的引用。
另外,请注意 @gtgaxiola 的观察,即由于 的第二个定义,此代码将无法编译。这可以按如下方式解决:i
int i = 1;
int j = i + 2;
i = 2;
现在,如果变量是对可变对象的引用,则可以为同一对象分配两个引用,并通过任一引用更改该对象。
ColorRGB a = new ColorRGB(0,0,0);
ColorRGB b = a;
a.r = 255;
在这里,两者的值都为 255,因为两者都引用同一对象中的字段。a.r
b.r
0赞
Vermonster
6/4/2015
#2
初始化后,无法将其“重新初始化”为 2。如果要将 i 更改为 2,则可以在初始化后说。此外,j = 3,因为 i+2 = 3。在您提供的代码中,j 从不等于 1。玩一玩,你会像这样回答你自己的问题。int i = 1
i = 2;
int i = 2;
int j = i + 2; // j is initialized to 3
i = 2; // no need for declaring int since you did it above. The compiler already knows its type
j = j - i; // 3-2
System.out.println("i = " + i) // prints 2
System.out.println("j = " + j) // prints 1
评论
j
i
j