java基础课程_数据交换三种方法
//方法一
int c = n;
n=m;
m=c;
//测试
System.out.println("n="+n+"\nm="+m);
//方法 二用 +-做交换
int x=10,y=5;
x=x+y; //5+20
y=x-y; //25-20
x=x-y; //25-5
System.out.println("x="+x+"\ny="+y);
//方式三 异或效率最高
int a=2,b=4;
a=a^b;
b=a^b;
a=a^b;
System.out.println("a="+a+"\nb="+b);
///////////////////////////////////////////////////////////////////////////////////////////////////////拓展取反////////////////////////////////////////////////////////////
// 取反
/*
*计算机存储整数以 源码形式存储,负数以补码形式存储
*
* */
int q=3,e=1;
q=~e;e=~q;q=~e;
System.out.println("q="+q+"\ne="+e);