Operator '&' cannot be applied to 'int', 'boolean'


在運行以下代碼時,系統報錯 Operator '&' cannot be applied to 'int', 'boolean'

 

 

原因:J在ava語法中關系運算符的優先級大於邏輯運算符,所以先算(a-1) != 0得到一個boolean類型的值。&左右是布爾類型時會轉換成邏輯運算符進行邏輯運算,否則會進行位運算。int & boolean操作符兩邊類型不一致顯然不行,無法判定時進行什么運算。

正確做法是:

將a&(a-1)用小括號括成一個整體。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM