JAVA中的基本数据交换方式有三种:
1.借助中间变量
例: int a = 10 , b = 20 , c; //建立了三个变量,这里的c即为我们的中间变量,在随后的数值交换中起到了一个交换"桥梁"的作用.
c = a;
a = b;
b = c;
这样就借助了中间变量来实现了两个整形变量的数值交换.这也是实际应用中,应用最广的一种方法,不仅适用于int类型,其他数据类型也同样适用.
2.利用 ^(异或运算符)
在计算机底层对两个数据所对应的补码进行异或运算,若对应位相同则为0,若不相同则为1,最后再对所得到的补码进行转换,最终得到的数即为结果.
特点:一个数另外一个数同时异或两次,结果依然还等于这个数 如: 10 ^ 20 ^ 20 == 10 ;
例:
int a = 10,b = 20;
a = a ^ b;
b = a ^ b; // b = a ^ b ^ b;
a = a ^ b; // a = a ^ b ^ a ^ b ^ b;
此方法适用于所有基本数据类型.
3.算数交换
在这里就要利用数的一些特点来进行交换:
例:
int a = 10 , b = 20;
a = a + b; // 此时 a == 30 , b == 20;
b = a - b; // 此时 a == 30 , b == 10;
a = a - b; // 此时 a == 20 , b == 10;
此方法适用于除了boolean类型的其他基本数据类型如:整形,浮点型,字符型.