我有一個簡單的Java表達式,如下所示。基於Operator Precedence table,我預計這種表達式將零異常返回師(因爲定位後增量運算符的優先級最高)和預期結果表達式將如下所示:Java後增加和預增量行爲
2 + 2 + 5/0
但結果是7,爲什麼呢? (通過實驗的點點我發現,所有的運營商都因爲某些原因指定的值爲1,但這並不意義,我的情況下,優先級表是正確的)
int intCountOperator = 0;
unaryOperand = ++intCountOperator + intCountOperator + 5/intCountOperator++;
System.out.println(unaryOperand); // Prints 7
這是因爲從左到右的評估順序,它與運算符優先級正交。 –