我不明白爲什麼第3行打印1在我寫的Test類中。 我以爲它會打印2而不是1,因爲我認爲第2行已將x的值更改爲2.+運算符 - Java按值傳遞
任何人都可以向我解釋這個嗎?這是與java被傳遞的價值,或者是一些其他的解釋?
public class Test{
public static void main(String[] args) {
int x = 1; // line 1
System.out.println(x+1); //line 2 prints 2
System.out.println(x); //line 3 but why does this line prints 1?
}
}
輸出:
2
1
你沒有改變的價值,你卻打印'X + 1',如果你想要的值更改嘗試做'X ++' – 3kings
我想你混淆'''X ++'''和'''X + 1'''。前者是增量變量本身的值,後者只是返回一個遞增的值,但實際上並沒有增加變量本身。 – Siddhartha
是的,它看起來像我一直在混淆x ++和x + 1。我將它與我創建的另一個測試程序進行比較,如下所示:int x = 1; \t \t System.out.println(++ x); //打印2 \t \t System.out.println(x); //打印2 –