Toán tử XOR (exclusive or) bitwise "^" trong Java cho kết quả '1' nếu hai bit toán hạng khác nhau, nếu cùng nhau cho '0'. XOR là toán tử nhị phân đánh giá từ trái sang phải. Toán tử "^" không định nghĩa cho đối số kiểu String.
Ví dụ 1
public class XORTest1 {
public static void main(String[] args) {
boolean x = false;
boolean y = false;
boolean xXorY = x ^ y;
System.out.println("false XOR false: " + xXorY);
x = false;
y = true;
xXorY = x ^ y;
System.out.println("false XOR true: " + xXorY);
x = true;
y = false;
xXorY = x ^ y;
System.out.println("true XOR false: " + xXorY);
x = true;
y = true;
xXorY = x ^ y;
System.out.println("true XOR true: " + xXorY);
}
}
Kết quả
false XOR false: false false XOR true: true true XOR false: true true XOR true: false
Ví dụ 2
public class XORTest2 {
public static void main(String[] args) {
String str1 = "1010100101";
String str2 = "1110000101";
StringBuffer sb = new StringBuffer();
for (int i = 0; i < str1.length(); i++) {
sb.append(str1.charAt(i) ^ str2.charAt(i));
}
System.out.println(sb);
}
}
Kết quả
0100100000