-6
我正在读一些Java代码,但我第一次看到这些符号,像“< < <”,” < < = “,”< <“。这些是什么意思?像什么意思的符号在java中“<<<”“<< =”“<<”
int buffer=8;
buffer <<= 1;
int x;
x >>> 24;
我正在读一些Java代码,但我第一次看到这些符号,像“< < <”,” < < = “,”< <“。这些是什么意思?像什么意思的符号在java中“<<<”“<< =”“<<”
int buffer=8;
buffer <<= 1;
int x;
x >>> 24;
这些是位移位运算符。见https://docs.oracle.com/javase/tutorial/java/nutsandbolts/op3.html:
签署的向左移位运算符“< <”的位模式左移, 和签名的右移位运算符“>>”移位的位模式的 权利。位模式由左侧操作数给出,并且由右侧操作数移位的位置数量为 。右移位运算符“>>>”将零移动到最左边的位置, ,而“>>”之后的最左边位置取决于符号扩展。
<<=
是<<
的等效的,但分配更新值回到相同的变量(类似于+=
)。
延伸阅读:https://en.wikipedia.org/wiki/Bitwise_operation#Bit_shifts
有没有<< =符号?其他人则是位移操作员 –