Java做什么"<<"是什么意思?

时间:2016-03-29 19:12:32

标签: java syntax

int x = 1 << 25;

&#34;&lt;&lt;&#34;意思? 不确定这是什么,我的ide虽然没有给我错误.. 我试过在论坛上搜索和谷歌搜索,但找不到解决方案。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

它是左(位)移位。 JLS-15.19. Shift operators说(部分)

  

操作符<<(左移),>>(右移右移)和>>>(无符号右移)称为移位运算符。移位运算符的左侧操作数是要移位的值;右侧操作数指定移位距离。

举一个简单的例子,考虑

System.out.println(Integer.toBinaryString(1));
System.out.println(Integer.toBinaryString(1 << 1));
System.out.println(Integer.toBinaryString(1 << 2));

哪个输出

1
10
100

因为它将单个1位分别左移一次。

在您的示例中,int x = 1 << 25;1后跟25 0 s(二进制或十进制33554432)。