前言
对于移位操作符,很多人既感到熟悉,又感到陌生。熟悉是因为移位操作符是最基本的操作符之一,几乎每种编程语言都包含这一操作符;陌生是因为除非是追求极致性能等罕见场景,否则也很难用得上它。打开JDK源码,你会发现移位操作符的身影极为常见,弄清楚它的用法,对阅读源码很有帮助。
移位操作是把数据看作是二进制数,然后将其向左或向右移动若干位的运算。在Java编程语言中,移位操作符包含三种,分别是 <<
(左移)、 >>
(带符号右移)和 >>>
(无符号右移),这三种操作符都只能作用于long
、int
、short
、byte
、char
这四种基本的整型类型上。