首页 > 其他 > 详细

4种方法实现2个整数交换

时间:2019-11-18 23:00:28      阅读:112      评论:0      收藏:0      [点我收藏+]
@Test
    public void code(){
        int a= 6;
        int b = 9;
        
        //要求m和n交换位置
        System.out.println("m=" + m + " n=" + n);//m=6 n=9
        
        //方法一:定义中间变量法
        //优点:操作简单,容易理解 缺点:需定义临时变量,内存消耗较大
        int temp = m;
            m = n;
            n = temp;
        System.out.println("m=" + m + " n=" + n);//m=9 n=6
        
        //方法二:不定义临时变量,使用相加
        //优点:无需定义临时变量,节省内存。缺点:当两个数值较大时,容易丢失精度
        m = m + n;//6 + 9
        n = m - n;//15- 9,是原来的m的值,赋给n
        m = m - n;//15 - 6,是原来n的值,赋给m
        System.out.println("m=" + m + " n=" + n);//m=9 n=6
        

     //方法三:一句话交换 //优点:代码短,缺点:容易丢失精度 m=(m+n)-(n=m);        //方法四:大神专用,使用异或^ //优点:不会丢失精度,不用定义变量,内存消耗最小,缺点:一般人不会想到这么写,写了一般人也看不懂 m = m ^ n; n = m ^ n;// m ^ n ^ n == m m = m ^ n;// m ^ n ^ m == n System.out.println("m=" + m + " n=" + n);//m=9 n=6 }

 以上就是四种方法,来实现两个整数间的交换。

4种方法实现2个整数交换

原文:https://www.cnblogs.com/Z7TS/p/11885949.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!