java如何异或
异或运算的基本概念
异或(XOR)是一种位运算,符号为 ^。其规则是:两个操作数的对应位相同则结果为 0,不同则为 1。例如:
1 ^ 1 = 01 ^ 0 = 10 ^ 1 = 10 ^ 0 = 0
Java 中的异或操作
在 Java 中,异或可以直接通过 ^ 运算符实现,支持整数类型(int、long、byte、short)和布尔类型。
整数类型的异或
int a = 5; // 二进制 0101
int b = 3; // 二进制 0011
int result = a ^ b; // 结果为 0110(十进制 6)
System.out.println(result); // 输出 6
布尔类型的异或
布尔值的异或表示逻辑“不同”:
boolean x = true;
boolean y = false;
boolean z = x ^ y; // 结果为 true
System.out.println(z);
异或的常见用途
交换两个变量的值
无需临时变量:
int x = 10, y = 20;
x = x ^ y;
y = x ^ y;
x = x ^ y;
System.out.println("x=" + x + ", y=" + y); // 输出 x=20, y=10
数据加密与解密
异或可用于简单加密,因为 A ^ B ^ B = A:

int data = 42;
int key = 123;
int encrypted = data ^ key; // 加密
int decrypted = encrypted ^ key; // 解密
System.out.println(decrypted); // 输出 42
注意事项
- 异或运算优先级较低,建议用括号明确优先级。
- 布尔类型的异或不能使用
&&或||替代,需直接用^。






