• 有a,b两个数,交换他们的值

    中间变量法

    image.png

    1. int A=1,B=2,temp=0;
    2. temp=A;
    3. A=B;
    4. B=temp;
    5. sout(A+","+B); //->2,1

    异或法

    image.pngimage.pngimage.png

    1. int a = 1;
    2. int b = 5;
    3. a = a ^ b;
    4. b = a ^ b;
    5. a = b ^ a;
    6. System.out.println(a+","+b);

    加减法

  • 需要考虑数值溢出的可能

    1. int a = 1;
    2. int b = 5;
    3. b=a+b;
    4. a=b-a;
    5. b=b-a;
    6. System.out.println(a+","+b);