在 Java 里,XOR(异或) 主要有两种常见用法:
^)^ 是按位异或运算符,规则是:
int a = 5; // 二进制 0101
int b = 3; // 二进制 0011
int c = a ^ b; // 0110 -> 6
System.out.println(c); // 输出 6
int x = 10;
int y = 20;
x = x ^ y;
y = x ^ y;
x = x ^ y;
System.out.println(x + ", " + y); // 20, 10
if ((a ^ b) != 0) {
System.out.println("a 和 b 不相等");
}
^)在 boolean 上,^ 也表示逻辑异或:
true,一个为 false → truefalseboolean p = true;
boolean q = false;
System.out.println(p ^ q); // true
System.out.println(p ^ p); // false
✅ 常用于“二者只能选其一”的逻辑判断
int[] nums = {2, 3, 2, 4, 4};
int result = 0;
for (int n : nums) {
result ^= n;
}
System.out.println(result); // 3
| 场景 | 用法 |
|---|---|
| 整数位运算 | a ^ b |
| 布尔逻辑 | a ^ b |
| 交换变量 | a ^= b; b ^= a; a ^= b; |
| 去重/找唯一值 | XOR 累加 |
如果你有具体业务场景(比如加密、权限、算法),我可以给你更针对性的例子。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。