首页 > 代码库 > 交换两个数的值

交换两个数的值

  交换两个数的值,java实现,代码如下:

class OperateMark{    public static void main(String[] args)    {        //原始数据        int a=1,b=3,temp=0;        System.out.println("a="+a+" b="+b+" temp="+temp);        //常规方法交换数的值,并打印输出。        temp=a;        a=b;        b=temp;        System.out.println("a="+a+" b="+b);        //不出现中间变量的方法一。        a=a+b;        b=a-b;        a=a-b;        System.out.println("a="+a+" b="+b);        //不出现中间变量的方法二。        a=a^b;        b=a^b;        a=a^b;        System.out.println("a="+a+" b="+b);        //最简单的方法。        System.out.println("a="+b+" b="+a);            }

  出现中间变量的方法为常规方法最容易想到,两个容器里面装着东西,想要把他们里面装的东西互换,需再找一个容器当中间人,就可以了。

  不需要中间变量的方法一,先把他们求了个和a+b,赋值给a,此时a-b=a+b-b=a,把这个值赋给b,即把原始的a赋值给b。然后再运算a-b=a+b-a=b,把此值赋给a,就实现的两数交换。

  方法三和方法二思路一样,用到了一个规律,a==a^b^b。交换律在这个运算里依然成立。

  方法四最简单快捷了,你不觉得吗?

交换两个数的值