踩坑記錄 關於java中的“error: bad operand types for binary operator ”

if(n & 1 == 1)    count++;

報的是這個bad operand types for binary operator '&' 

一直覺得是後面的“true”“false”有什麼問題,但也發現不了。後來才知道確實是優先級的問題,可能受到賦值(=)運算符的影響,以爲&的優先級比“==”大,實際上恰好相反。相對於位運算符,恆等運算符優先級大一點,這樣就導致了“&”左邊是int型,右邊是boolean型,果然基礎的東西還是不能忽視啊!

後面的比較比前面的優先,所以出了這個問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章