int i=9;
System.out.println(--i + ++i);
上執行的輸出:17
I的最終值是:9輸出在(--i + ++ⅰ)在Java
但根據結合性和優先級規則在Java中,, ++我應該首先執行,即從右到左,它給出10然後--i給出9 ..添加兩個,答案應該是19 ...就我所知這樣的代碼在C/C++中給出未定義的行爲,但在java中,規則是嚴格定義的,並且沒有序列點的概念。所以,任何人都可以澄清這個問題,因爲我真的很困惑這個?同樣在一些書中提到後增量和後減量運算符是LTR關聯。但在其他一些書中,它的所有遞增和遞減(post和pre)都是RTL關聯.. !!任何人都可以給java一個正確的運算符優先級和關聯性表嗎?
的可能重複[++ 1 + + +我+ + +我在Java vs C](http://stackoverflow.com/questions/3879176/iii-in-java-vs-c)和特別是[這個答案](http://stackoverflow.com/a/3879280/829571) 。 – assylias