实现两个数值交换,最常用的莫过于中间变量法,那是不是还有别的方式呢。请看下文:


class Operator
{
// 实现两个数值交换的多种方式
public static void main(String[] args){
// 方式1 中间变量法
int a = 10;
int b = 20;
int c = a;
a = b;
b = c;
System.out.println(a);//20
System.out.println(b);//10
// 方式2 异或运算
int d = 10;
int e = 20;
d = d^e;
e = d^e;
d = d^e;
System.out.println(d);//20
System.out.println(e);//10
// 方式3 加减法运算
int f = 10;
int g = 20;
f = f+g;
g = f-g;
f = f-g;
System.out.println(f);//20
System.out.println(g);//10
// 方式4 一句话搞定
int h = 10;
int i = 20;
i = (h+i)-(h=i);//(10+20)-20;
}
}

简单的数值交换都可以有多种方法,所以在以后编程的日子里要时刻提醒自己,成功的方法不止有一个,一个想法走不通的时候,要换个思路继续前行。