1 class OperatorTest { 2 public static void main(String[] args) { 3 int a = 10; 4 int b = 20; 5 6 System.out.println("a:"+a+",b:"+b); 7 8 //方式1:使用第三方变量(开发中常用的) 9 /* 10 int c = a; 11 a = b; 12 b = c; 13 System.out.println("a:"+a+",b:"+b); 14 System.out.println("------------"); 15 */ 16 17 //方式2:用位异或实现(面试常有用) 18 //左边:a,b,a 19 //右边:a ^ b 20 /* 21 a = a ^ b; 22 b = a ^ b; //a ^ b ^ b = a 23 a = a ^ b; //a ^ b ^ a = b 24 System.out.println("a:"+a+",b:"+b); 25 */ 26 27 //方式3:用变量相加的做法 :有局限 a+b超出int的范围就不行了 28 /* 29 a = a + b; //a=30 30 b = a - b; //b=a+b-b=10 31 a = a - b; //a=a+b-a=20 32 System.out.println("a:"+a+",b:"+b); 33 */ 34 35 //方式4:一句话搞定 36 b = (a+b) - (a=b); //b=30-20=10,a=20 37 System.out.println("a:"+a+",b:"+b); 38 } 39 }