码迷,mamicode.com
首页 > 编程语言 > 详细

Java不借助第三方变量交换两个变量的值

时间:2018-08-28 13:07:36      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:类型   精度   nbsp   变量   影响   col   code   java   str   

这种方式有个隐患,如果两个数相加超过了类型的上限,会影响精度,导致结果不准确;

public class Test {

    public static void main(String[] args) {
        int i=1;
        int j=3;
        i=i+j;
        j=i-j;
        i=i-j;
        System.out.println(i+","+j);
    }
    
}

使用位^运算符就不会出现上面的情况

public class Test001 {

    public static void main(String[] args) {
        int i=1;
        int j=3;
        i=i^j;
        j=i^j;
        i=i^j;
        System.out.println(i+","+j);
    }
    
}

 

Java不借助第三方变量交换两个变量的值

标签:类型   精度   nbsp   变量   影响   col   code   java   str   

原文地址:https://www.cnblogs.com/wjsffzb/p/9547440.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!