关于java复合赋值的问题?求详细解释哈。
byte number=-23;
number &=0xF0;
number >>=4;
System.out.println("number1:"+number);
number=-23;
number = (byte)((number & 0xF0) >> 4);
System.out.println("number2:"+number);
输出:number1:-2
number2:14
------解决方案--------------------
其实就是 自X 运算符。
比如:
+= 自增运算
&= 自与运算(& 是位运算中的 与)
>>= 自优异运算 (>> 是位运算中的 右移)
规律也是一样的:
number &= 0xF0;
相当于:
number = (byte) (number & (等式右侧));