不使用中间变量,交换两个变量的值
1、通过算术运算减法实现/** * 1、算术运算实现 * (a 10, b 2) - (a 2, b 10) */publicstaticvoidarithmetic_minus(){// a-8; b2ab-a;// a-8; b10bb-a;// a2; b10aba;System.out.println(a:a; b:b);}packagemainimportfmtfuncmain(){varaint10varbint20aab// b a b - b b aba-b// a a b - a a baa-b fmt.Printf(a%v b%v,a,b)}2、通过算术运算加法实现/** * 2、算术运算实现 * (a 10, b 2) - (a 2, b 10) */publicstaticvoidarithmetic_plus(){// a12; b2aab;// a12; b10ba-b;// a12; b10aa-b;System.out.println(a:a; b:b);}3、通过栈实现/** * 3、栈实现 * (a 10, b 2) - (a 2, b 10) */publicstaticvoidarithmetic_stack(){StackIntegerstacknewStack();stack.push(a);stack.push(b);astack.pop();bstack.pop();System.out.println(a:a; b:b);}4、通过位运算符异或实现/** * 4、位运算符实现异或运算 * (a 10, b 2) - (a 2, b 10) */publicstaticvoidarithmetic_operator(){// a1010(10) ^ b0010(2) - a1000(8)aa^b;// a1000(8) ^ b0010(2) - b1010(10)ba^b;// a1000(8) ^ b1010(10) - a0010(2)aa^b;System.out.println(a:a; b:b);}