1.不使用第三个临时变量调换 A B 的值。只针对数
int a = 20;
int b = 30;
int a = a ^b;
int b = a ^ b; 获取b的值
int a = b ^ a; 获取a的值
2.利用异或进行加密
String encrytion = "我是加密之前的数据";
char[] encrytionChars = encrytion.toCharArray();
for(int i=0;i<encrytionChars.length;i++){
encrytionChars[i] = (char) (encrytionChars[i]^2000);
}
System.out.println(new String(encrytionChars));
for(int i=0;i<encrytionChars.length;i++){
encrytionChars[i] = (char) (encrytionChars[i]^2000);
}
System.out.println(new String(encrytionChars));
本实例的关键技术是使用异或运算,如果某个字符(或数值)x与一个数值m进行异或运算得到y,则在用y与m进行异或运送就可以还原x