一:优先级
根据以上表格总结出的优先级为:
后缀运算符(.)>单目运算符(++)>new>乘除>加减>移位>关系(大于,小于)>相等>按位与>按位异或>按位或>逻辑与>逻辑或>条件(?:)>赋值
二:逻辑操作符
注意:逻辑操作符“与”,“或”,“非” 只可应用于布尔值,与c和c++不同的是,java中不可以将一个非布尔值当做一个布尔值来使用。
三:按位操作符
注意:按位操作符不可以对布尔值执行非操作。并且没有短路现象,操作对象是二进制的单个比特值。
四:按位操作符与逻辑操作符的比较
1. 操作对象不同,逻辑操作符只应用于布尔值,按位操作符操作整数基本类型中的单个比特值,即“二进制”
2. 按位操作符不会“短路”,逻辑操作符可以发生“短路”
3. 按位操作符不能对“布尔值”执行按非操作。逻辑操作符可以
4. 按位操作符可以与“=”联用,比如&= 而逻辑操作符不可以。