1.&和&&的区别.
java中的逻辑运算符:
& 逻辑与(AND)
| 逻辑或(OR)
^ 逻辑抑或(XOR)
! 逻辑非
&& 条件与(AND)
|| 条件或(OR)
注意&&和||会进行短路计算,第一个条件可以判断表达式的结果时,不对后面的条件进行判断了.
位操作运算符:
& 按位与(AND)
| 按位或(OR)
^ 按位抑或(XOR)
~ 按位取反
所以,问&和&&的区别时,千万别仅仅说一个是位操作符,一个是逻辑运算符.
2. short s=0;
s+=1;
正确,而
s=s+1;
不正确,为什么?
java中byte ,short,char之类的运算都是提升为int类型进行的,所以运算完之后要进行强制类型转换,复合赋值操作 符编译器会自动添加强制转换操作.建议:尽量不要对byte,short,char这样的类型使用复合赋值运算符.
|