public class Operator { public static void main(String[] args) { int a=10; int b=20; System.out.println("a:"+a+" b:"+b); //方法一:使用第三方变量(适用于开发中用) int c=a; a=b; b=c; System.out.println("a:"+a+" b:"+b); //方法二 位异或实现(面试) /* * 9^2=11,11^2=9 ^符号是位逻辑运算符里的按位异或,只有在两个比较的位不同时结果是1,否则为0. 分析: 9 二进制:1 0 0 1 2 二进制:0 0 1 0 9^2 结果: 1 0 1 1 转换为十进制:8+2+1=11 */ a=a^b; b=a^b;//a^b^b=a a=a^b;//a^b^a=b System.out.println("a:"+a+" b:"+b); //方法三 b=(a+b)-(a=b); System.out.println("a:"+a+" b:"+b); } }