int a = 10;
int b = 20;
方式一:三杯水交换,采用临时变量作为中间过渡
优点:简单实用
缺点:需要开辟新的变量
int temp = 0;
temp = a;
a = b;
b = temp;
方式二:加减交换法
优点:不需要开辟新的变量
缺点:这种方法在数据比较大时可能会出现溢出的问题
a = a + b;
b = a - b;
a = a - b;
方式三:不使用第三个变量,三次异或的方式
缺点:可读性较差
优点:利用位运算的方法,不仅不要开辟新变量,而且效率更高.
a = a^b;
b = a^b;
a = a^b;
总结:后两种方法都只能应用于数值类型的,如果是引用类型的就无法使用了,但第一种方法却能够依旧使用