两个数据值的交换一般有三种方式:
1. 使用中间变量
2. 位^特点:一个数据被另一个数据位异或两次,其值本身不变
3. 变量相加
public class Demo {
public static void main(String[] args){
//定义变量
int a=10;
int b=20;
System.out.println("a:"+a+",b:"+b);
//一:使用中间变量
int c=a;
a=b;
b=c;
System.out.println("a:"+a+",b:"+b);
//二:位^:一个数据被另一个数据位异或两次,其值本身不变
a=a^b;
b=a^b;
a=b^a;
System.out.println("a:"+a+",b:"+b);
//三:变量相加
int d=a+b;
a=d-a;
b=d-b;
System.out.println("a:"+a+",b:"+b);
}
}