在运行以下代码时,系统报错 Operator '&' cannot be applied to 'int', 'boolean'
原因:J在ava语法中关系运算符的优先级大于逻辑运算符,所以先算(a-1) != 0得到一个boolean类型的值。&左右是布尔类型时会转换成逻辑运算符进行逻辑运算,否则会进行位运算。int & boolean操作符两边类型不一致显然不行,无法判定时进行什么运算。
正确做法是:
将a&(a-1)用小括号括成一个整体。
在运行以下代码时,系统报错 Operator '&' cannot be applied to 'int', 'boolean'
原因:J在ava语法中关系运算符的优先级大于逻辑运算符,所以先算(a-1) != 0得到一个boolean类型的值。&左右是布尔类型时会转换成逻辑运算符进行逻辑运算,否则会进行位运算。int & boolean操作符两边类型不一致显然不行,无法判定时进行什么运算。
正确做法是:
将a&(a-1)用小括号括成一个整体。
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。