两个整数的交换

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多了个转换

按位运算的限制是:只能用于整数

求和运算限制:一般用于整数

第一种不受任何限制:这才是开发中长用的

posted @ 2019-06-15 15:09  三十六烦恼风x  阅读(182)  评论(0编辑  收藏  举报