在我第一次遇见这个符号时我曾以为是在判断小于的符号,像“==”一样,然而并不是。

这是一种移位运算符 在二进制下进行移位

a<<i 其中a前为要移动的数,i为要移动的位数

例如:

3<<1

是将3先转化为24位的二进制

0000 0000 0000 0000 0000 0000 0000 0011

然后再左移一位 最后结果为 0000 0000 0000 0000 0000 0000 0000 0110

再转化为十进制结果为6

如果左移过程中超过了32位 高位就会舍弃 低位补零

>>是右移 和<<具有同样的道理

只不过右移过程中溢出时,低位会舍弃,高位补零

更多推荐

java中的<<符号是什么意思