在Java中,XOR(异或)操作可以用于多种应用场景。以下是一些常见的应用实例:
int a = 5;
int b = 3;
a = a ^ b;
b = a ^ b;
a = a ^ b;
System.out.println("a: " + a); // 输出:a: 3
System.out.println("b: " + b); // 输出:b: 5
int num = 7;
if ((num & 1) == 0) {
System.out.println(num + " 是偶数");
} else {
System.out.println(num + " 是奇数");
}
int[] arr = {2, 3, 2, 4, 4, 3, 5};
int result = 0;
for (int num : arr) {
result ^= num;
}
System.out.println("出现奇数次的元素是: " + result); // 输出:出现奇数次的元素是: 5
public class XOREncryption {
public static void main(String[] args) {
String plainText = "Hello, World!";
String key = "myKey";
String encryptedText = encrypt(plainText, key);
System.out.println("Encrypted text: " + encryptedText);
String decryptedText = decrypt(encryptedText, key);
System.out.println("Decrypted text: " + decryptedText);
}
public static String encrypt(String plainText, String key) {
StringBuilder encryptedText = new StringBuilder();
for (int i = 0; i < plainText.length(); i++) {
char plainChar = plainText.charAt(i);
char keyChar = key.charAt(i % key.length());
char encryptedChar = (char) (plainChar ^ keyChar);
encryptedText.append(encryptedChar);
}
return encryptedText.toString();
}
public static String decrypt(String encryptedText, String key) {
StringBuilder decryptedText = new StringBuilder();
for (int i = 0; i < encryptedText.length(); i++) {
char encryptedChar = encryptedText.charAt(i);
char keyChar = key.charAt(i % key.length());
char decryptedChar = (char) (encryptedChar ^ keyChar);
decryptedText.append(decryptedChar);
}
return decryptedText.toString();
}
}
这些实例仅展示了XOR操作在Java中的一些应用,实际上它还可以用于更多场景,如纠错编码、密码学等。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。