专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java位运算符使用方法和技巧

Java位运算符使用方法和技巧

更新时间:2020-07-14 16:25:16 来源:动力节点 浏览3222次

位运算符

位运算符除了按位与和按位或运算以外,其他的只能用于处理整数的操作数。位运算是完全正对位方面的操作。整型数据在内存中以二进制的形式表示,如int型变量7的二进制表示00000000 00000000 00000000 00000111。

左边最高位是符号位,最高位是0表示整数,若为1则表示负数。负数采用补码表示,如-8的二进制表示为11111111 11111111 11111111 11111000。这样就可以对整型数据进行按位运算。

1、“按位与”运算

“按位与”运算符为“&”,为双目运算符。“按位与”运算的运算法则是:如果两个整型数据a、b对应为都是1,则结果为才是1,否则为0。如果两个操作数的精度不同,则结果得的精度与精度高的操作数相同,如下图所示:

Java位运算符使用方法和技巧

2、“按位或”运算

“按位或”运算的运算符为“|”,为双目运算符。“按位或”运算的运算法则是:如果两个操作数对应高位都是0,则结果为才是0,否则为1。如果两个操作数的精度不同,则结果的精度与精度高的操作数相同,如下图所示:

Java位运算符使用方法和技巧

3、“按位取反”运算

“按位取反”运算也称为“按位非”运算,运算符为“~”,为弹幕运算符。“按位取反”就是将操作数二进制中的1修改为0,0修改为1,如下图所示:

Java位运算符使用方法和技巧

4、“按位异或”运算

“按位异或”运算的运算符是“^”,为双目运算符。“按位异或”运算的运算法则是:当两个操作数的二进制表示相同(同时为0或同事为1)时,结果为0,否则为1。若两个操作数的进度不同,则结果数的精度与精度高的操作数相同,如下图所示:

Java位运算符使用方法和技巧

5、移位操作

除了上述的运算以外,还可以对数据按二进制为进行移位操作。Java中的移位运算符有以下3中:

1.

2.>>;右移

3.>>>;无符号右移

左移就将左边的操作数在内存中的二进制数据左移变比阿耨操作数指定的位数,左边移空的部分补0。右移则复杂一些,当使用“>>”符号时,如果最高位是0,左移空的位就填入0;如果最高位是1,右移空的位就填入1。

Java还提供了无符号右移,“>>>”,无论最高位是0还是1,左侧移空的最高位都填入0.

注意:

位移运算符使用的数据类型有byte、short、char、int和long。

技巧:

移位可以实现整数整除移或者乘以2的n次方的效果。例如:y>1的结果与y/2的结果相同。总之,一个数左移n位,就是将这个数乘以2的n次方;一个数右移n位,就是将这个数除以2的n次方。2与y*4的结果相同;y>

Java位运算符使用方法和技巧

Java技术内容

Java运算符概述:http://www.bjpowernode.com/tutorial_java_se/79.html

Java位运算符:http://www.bjpowernode.com/tutorial_java_se/83.html

以上就是动力节点java培训机构的小编针对“Java位运算符使用方法和技巧”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>