&引用<<&引用;java中的运算符

&引用<<&引用;java中的运算符,java,operators,Java,Operators,Fallowing语句来自java的字符类: (1 << Character.PARAGRAPH_SEPARATOR)) >> type (1>类型 段落分隔符是一个字节,类型是一个整数 这句话中的运算符,它们是做什么的?如何以及在哪里使用这些运算符 这是oracles文档。类中几乎所有的方法都使用这些运算符。按位运算符:它们是位移位运算符。>”将零移位到最左边的位置,而“>>”之后的最左边位置取决于符号扩展 更多细节。。。。 你可以参观 你在哪里看到这个?我在当前的

Fallowing语句来自java的字符类:

(1 << Character.PARAGRAPH_SEPARATOR)) >> type
(1>类型
段落分隔符
是一个字节,
类型
是一个整数

这句话中的运算符,它们是做什么的?如何以及在哪里使用这些运算符


这是oracles文档。类中几乎所有的方法都使用这些运算符。

按位运算符:

它们是位移位运算符。

请参阅@axtavt的注释,以了解这些运算符在此上下文中的用法。

1在二进制中为110,或者通常为6。

这些是运算符

如果左移,则输入以下字节:

00000001
你会得到:

00000010
也就是说,模式已向左“移位”,而零在右侧填充。因此,如果您对该结果应用右移位运算符
>
,您将再次获得原始字节

您会注意到这些数字的十进制值是1和2。如果再次向左移动,您将得到:

00000100 = 4

因此,您可以看到向左移动会将数字乘以2(假设它不会溢出),而右移除以2。这在大多数计算机中非常有效。因此,这是一个示例,说明了如何实际使用这些运算符。

它是一个高度优化的多重比较。带符号的左移运算符“”将位模式向右移位。位模式由左手操作数给出,由右手操作数给出要移位的位置数。无符号右移位运算符“>>>”将零移位到最左边的位置,而“>>”之后的最左边位置取决于符号扩展

更多细节。。。。 你可以参观

你在哪里看到这个?我在当前的API文档中没有看到。你能发布一个对你引用的文档的引用吗?它几乎都在类java.lang.Character、Character.isDefined()、Character.isleter()中。它是一个高度优化的多重比较。完整表达式看起来像
((1 type)&1)!=0
,如果
type
与某个常量匹配,则返回
true
。此外,表达式的第一部分是编译时常量。@axtavt:感谢您的解释。