下面是我試圖理解的Java代碼部分。我想知道爲什麼num2減少,但在評估if語句時不使用它的結果。當我將「num2--
」更改爲「num2 - 1
」時,它會返回我期望的內容:「true12
」。
我錯過了什麼?我正在使用IntelliJ IDEA CE 2017.1
。在if語句中有條件的數學表達式的評估
boolean flag = false;
int num1 = 1, num2 = 2;
if ((num1) == (num2--)) {
flag = true;
}
System.out.println("flag, num1, num2: " + flag + num1 + num2);
這給輸出:
flag, num1, num2: false11
Process finished with exit code 0
'num2 - '與'num2 = num2 - 1'相同。 if((num1)==(num2 = num2 - 1)){' –
閱讀更多關於後綴和前綴運算符的信息 –
@ElliottFrisch if((num1)==(num2 = num2-1))'與'if((num1)==(--num2))',而不是'if((num1)==(num2 - ))'。 – Andreas