java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Java位运算符大全

Java常见运算符之位运算符大全

作者:吗喽对你问好

这篇文章主要介绍了Java常见运算符之位运算符的相关资料,包括按位与、按位或、按位异或、按位取反、左移、右移和无符号右移,这些运算符在判断奇偶、交换变量、计算绝对值、判断是否为2的幂以及快速计算2的幂次方等方面有广泛应用,需要的朋友可以参考下

1. Java 支持的位运算符

Java 提供了 7 种位运算符:

运算符名称描述示例
&按位与(AND)两个位都为 1 时,结果才为 15 & 3 → 1
|按位或(OR)两个位有一个为 1 时,结果就为 15 | 3 → 7
^按位异或(XOR)两个位不同时,结果为 15 ^ 3 → 6
~按位取反(NOT)所有位取反(0→1,1→0)~5 → -6
<<左移(Left Shift)所有位向左移动,低位补 05 << 1 → 10
>>右移(Right Shift)所有位向右移动,高位补符号位-5 >> 1 → -3
>>>无符号右移(Unsigned Right Shift)所有位向右移动,高位补 0-5 >>> 1 → 2147483645

2. 位运算详解

(1) 按位与(&)

(2) 按位或(|)

(3) 按位异或(^)

(4) 按位取反(~)

(5) 左移(<<)

(6) 右移(>>)

(7) 无符号右移(>>>)

3. 位运算的常见用途

(1) 判断奇偶

if ((n & 1) == 0) {
    System.out.println("偶数");
} else {
    System.out.println("奇数");
}

(2) 交换两个数

int x = 5, y = 3;
x = x ^ y;
y = x ^ y;
x = x ^ y;
System.out.println(x + ", " + y); // 输出:3, 5

(3) 计算绝对值

int a = -5;
int abs = (a ^ (a >> 31)) - (a >> 31);
System.out.println(abs); // 输出:5

(4) 判断是否为 2 的幂

boolean isPowerOfTwo = (n & (n - 1)) == 0;
System.out.println(isPowerOfTwo); // 8 → true, 7 → false

(5) 快速计算 2^n

int power = 1 << n; // 2^n
System.out.println(power); // n=3 → 8

4. 总结

运算符用途示例
&判断奇偶、权限控制(n & 1) == 0
|合并标志位READ | WRITE
^交换变量、加密a ^= b; b ^= a; a ^= b;
~取反~5 → -6
<<快速乘以 2^n5 << 2 → 20
>>快速除以 2^n-5 >> 1 → -3
>>>无符号右移-5 >>> 1 → 2147483645

到此这篇关于Java常见运算符之位运算符的文章就介绍到这了,更多相关Java位运算符大全内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文