import java.util.*;
class OperatorPrecedenceExp
{
public static void main(String[] args)
{
int e=10;
sum=++e+e--;//e-- should b evaluated first
System.out.println("sum="+sum);
}
}
以上代碼打印sum=22
。但根據Java規範e--
應在++e
之前進行評估。所以結果應該是sum=20
而不是sum=22
。Java中的運算符優先級不符合Java規範
*根據java規範'e - '應該在'++ e' *「=>之前被評估嗎?你有參考嗎?表達式通常從左到右進行求值...... – assylias 2014-08-30 11:35:43
Java中存在的所有問題中,這看起來像是一個很平凡的問題 – ControlAltDel 2014-08-30 11:42:07
正如@assylias指出的那樣,您的整個問題似乎都是基於錯誤的前提。 – 2014-08-30 11:43:46