Java 运算符在实际开发中的应用

一、位运算符

操作符 描述 例子
如果相对应位都是1,则结果为1,否则为0 (A&B)得到12,即0000 1100
| 如果相对应位都是0,则结果为0,否则为1 (A | B)得到61,即 0011 1101
^ 如果相对应位值相同,则结果为0,否则为1 (A ^ B)得到49,即 0011 0001
按位取反运算符翻转操作数的每一位,即0变成1,1变成0 (〜A)得到-61,即1100 0011
<< 按位左移运算符。左操作数按位左移右操作数指定的位数 A << 2 得到240,即 1111 0000
>> 按位右移运算符。左操作数按位右移右操作数指定的位数 A >> 2 得到15,即 1111
>>> 按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充 A>>> 2得到15,即0000 1111
例子1:用最有效率的方法算出 2 乘以 8 等于几
2 << 3(相当于:2*2^3 == 2*8

将一个数左移 n 位,就相当于乘以了 2 的 n 次方,那么,一个数乘以 8 只要将其左移 3 位即可,而位运算是 cpu 直接支持的,效率最高,所以,2 乘以 8 等于几的最效率的方法是 2 << 3。


参考文章:
1、http://www.runoob.com/java/java-operators.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章