代码实现两个数交换方法

来源:互联网 发布:国家电网照片采集软件 编辑:程序博客网 时间:2024/04/30 04:41

方法1

提供一个临时变量

public class swapInt {    public static void main(String[] agrs){        int m = 12;        int n = 5;        System.out.println("m:"+m+"  n:"+n);        int temp = m;        m = n;        n = temp;        System.out.println("m:"+m+"  n:"+n);}

方法2

缺点:当m和n较大时,有可能会出现精度损失

public class swapInt {    public static void main(String[] agrs){        int m = 12;        int n = 5;        System.out.println("m:"+m+"  n:"+n);        m = m + n; //m=12+5        n = m - n; //n=17-5        m = m - n; //m=17-12        System.out.println("m:"+m+"  n:"+n);}

方法3

优点:没有以上两种方法的缺点

public class swapInt {    public static void main(String[] agrs){        int m = 12;        int n = 5;        System.out.println("m:"+m+"  n:"+n);        m = m ^ n;        n = m ^ n;//(m^n)^n == m,相当于m值给n        m = m ^ n;//(m^n)^m == n,相当于n值给m        System.out.println("m:"+m+"  n:"+n);}

如图解释:
位运算实现两数交换

0 0
原创粉丝点击