1.引进第三个变量
1 public static void main(String[] argv ) { 2 int a=1; 3 int b=2; 4 int temp=0; 5 temp=a; 6 a=b; 7 b=temp; 8 System.out.println("a="+a); 9 System.out.println("b="+b); 10 11 }
2.不引进第三个变量
public static void main(String[] argv ) { int a=1; int b=2; a=b+a; b=a-b; a=a-b; System.out.println("a="+a); System.out.println("b="+b); }
3.用位运算的一个数异或另一个数两次结果是其本身
public static void main(String[] argv ) { int a=1; int b=2; a=a^b; b=a^b; a=a^b; System.out.println("a="+a); System.out.println("b="+b);
效率是3 快于2快于1 1最慢是因为有第三方的变量 2比3慢是因为任何的运算都会转换成二进制的补码形式来运算 所以2比3多了个转换
按位运算的限制是:只能用于整数
求和运算限制:一般用于整数
第一种不受任何限制:这才是开发中长用的