您现在的位置是:课程教程文章
java中的位运算符是什么?是什么?
2023-12-15 21:33课程教程文章 人已围观
-
JavaScript基础入门到精通(Net网站开发必学
JavaScript基础入门到精通(Net网站开发必学(黄老师微信) 【每星期都会有不同课程的活动,活动请加群了解】 微信小程... -
RxJava架构设计深度剖析与手写核心实现
RxJava架构设计深度剖析与手写核心实现课前预习资料请添加助教小姐姐微信领取 报名之后请一定要加上微信领取学习... -
java项目springboot餐厅预约订座网站 毕业设
java项目springboot餐厅预约订座网站 毕业设... -
30天征服Java教程第1季(Java概念、基本
30天征服Java教程第1季(Java概念、基本课程购买咨询和资料获取请加老师QQ 2020363447 本套30天征服Java教程共计10季,本...
本教程操作环境:windows7系统、java10版,DELL G3电脑。
1.概念
位运算符,应用于整数类型(int),长整型(long),短整型(short),字符型(char),和字节型(byte)等类型。作用在所有的位上,并且按位运算。
2.类型
& 与,如果相对应位都是1,则结果为1,否则为0
| 或,如果相对应位都是 0,则结果为 0,否则为 1
^ 异或,如果相对应位值相同,则结果为0,否则为1
〜 取反,按位取反运算符翻转操作数的每一位,即0变成1,1变成0。
<< 按位左移运算符。左操作数按位左移右操作数指定的位数。
>> 按位右移运算符。左操作数按位右移右操作数指定的位数。
>>> 按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。
3.注意事项
位运算是直接对二进制进行运算
在位运算中,操作数必须是整型
位异或运算符的特点:
(1)一个数据对另一个数据位异或两次,该数本身不变。
(2)任何数和自身异或,结果为0
(3)任何数和0异或,结果为本身
(4)<< 左移一位,相当于乘以2: 3 << 2 = 12 --> 322=12
(5)>> 右移一位,相当于除以2: 3 >> 1 = 1 --> 3/2=1
(6)3 >>> 1 = 1 --> 3/2=1
同样的运算,位运算的效率高于算术运算
4.实例
class BitDemo{ public static void main(String[] args){ int a = 12; //8对应二进制是:00000000 00000000 00000000 00001000 int b = 8; //左移运算,所有的位数向左侧移动指定的位数,左侧高位直接抛弃,右侧低位补0 //右移运算,所有的位数向右侧移动指定的位数,左侧高位补零,右侧直接抛弃 //00000000 00000000 00000000 00100000---32 //00000000 00000000 00000000 00000010---2 System.out.println(b << 2); System.out.println(b >> 2); System.out.println(6 & 3); System.out.println(6 | 3); System.out.println(6 ^ 3); //00000000 00000000 00000000 00000110 & //00000000 00000000 00000000 00000011 = //00000000 00000000 00000000 00000010 -->2 //00000000 00000000 00000000 00000110 | //00000000 00000000 00000000 00000011 = //00000000 00000000 00000000 00000111 --> 7 //00000000 00000000 00000000 00000110 ^ //00000000 00000000 00000000 00000011 = //00000000 00000000 00000000 00000101 --> 5 //下面的算法可以实现a和b的数据转化效果 //对两个操作数连续执行三次异或操作,会改变值的顺序 //a = a ^ b; //b = a^ b; //a = a ^b; //System.out.println(a); //System.out.println(b); //最简单的一种形式 //int temp = a; //a = b; //b = temp; //一句话搞定 a = a + b -(b =a); System.out.println(a); System.out.println(b); } }
以上就是关于位运算符在java中的使用,同时在二进制的运算上也是非常好用的。学会的小伙伴可以在实例操作上尝试一下,检验自己的学习成果。更多Java学习指路:Java基础
课程教程:java中的位运算符是什么?是什么?下一篇:没有了