1.不使用第三个临时变量调换 A B 的值。只针对数
int
a =
20
int b =
30
int
a =
a ^b
int b =
a ^ b
int
a = b ^
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