首页 课程 师资 教程 报名

Java位运算符的详细介绍

  • 2022-11-08 10:10:51
  • 1285次 动力节点

Java位运算符是什么?动力节点小编来告诉大家。

字面值的八进制和十六进制

以0开头的整数为八进制

05 就是十进制的5

011就是十进制的9

以0x开头的整数位十六进制

0xF 就是十进制的15

0x11就是十进制的17

int a = 05;
int b = 011;
int c = 0xF;
int d = 0x11;
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);

按位运算符

二进制的位 ,运算的过程当中一位一位开始运算 ,相当于为二进制定制的运算

按位并(AND) : & (都是1结果为1 ,都是0结果为0 ,和逻辑的&类似 如果全1 和 全0结果为全0)

按位或 (OR) : | (只要有一个是1结果就为1)

按位异或 (XOR) : ^ (两个不一样就为1 ,两个一样对比结果就为0)

按位取反:~ (每一位都取反)

用十六进制或者八进制去表示的话 ,能够比较容易的表示出结果

int a = 0xF8;
//1111 1000
int b = 0xF4;
//1111 0100
int c = 0xFF;
//1111 1111
System.out.println(a & b);
System.out.println(a | b);
System.out.println(a ^ b);
System.out.println(~c);

位移运算符

' >>> ' : 符号位一起右移,左边补0,又称无符号右移

' < ' : 左移,右边补0。左移没有带符号位一说,因为符号位在最左侧

按位运算符不会改变原本的变量的值 2. 位移运算符不会改变原本的变量的值

位运算符的用处

按位运算符

掩码(MASK)

一个int有32位 ,即可以使用31位状态表示 ,因此我们可以使用掩码来表示一个人的多种状态 ,但是不建议这样是使用

int base = 1;
int is_student_mask = base;
int is_programmer_mask = base << 1;
int is_driver_mask = base << 2;
int is_painter_mask = base << 3;
int data = 5;
boolean isStudent = (data & is_student_mask) != 0;
System.out.println(isStudent);
boolean isProgrammer = (data & is_programmer_mask) != 0;
System.out.println(isProgrammer);
boolean isDriver = (data & is_driver_mask) != 0;
System.out.println(isDriver);
boolean isPainter = (data & is_painter_mask) != 0;
System.out.println(isPainter);

位移运算符

可用于高效除以2

左移相当于除二 ,右移相当于乘以二

以上就是关于“Java位运算符的详细介绍”,如果大家想了解更多相关知识,不妨来关注一下本站的Java教程,里面有更丰富的知识等着大家去学习,希望对大家的学习能够有所帮助。

选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交