Java 交换两数值变量的常用方法

Java 交换两数值变量的常用方法

        //1.加减运算交换
        double num1 = 0.01;
        double num2 = 9.99;
        //进行加减运算,利用赋值交换
        num1 = num1 + num2;
        num2 = num1 - num2;
        num1 = num1 - num2;
        System.out.println(num1);//输出 9.99
        System.out.println(num2);//输出 0.009999999999999787
        /*
        缺点:数值较大时栈溢出,
        而且由于 Java 浮点型数据的特殊性,
        会发生如上的意外情况
        */		
        //2.异或运算交换(只能用于整数)
        int num1 = 10;
        int num2 = 90;
        //进行加减运算,利用赋值交换
        num1 = num1 ^ num2;
        num2 = num1 ^ num2;
        num1 = num1 ^ num2;
        System.out.println(num1);//输出 90
        System.out.println(num2);//输出 10
        /*
        缺点:位运算虽然高效,但只能用于整数,存在局限性
        */
        //3.引用中间变量交换
        double num1 = 0.01;
        double num2 = 9.99;
        //引用中间变量 temp,利用赋值进行交换
        double temp = num1;
        num1 = num2;
        num2 = temp;
        System.out.println(num1);//输出 9.99
        System.out.println(num2);//输出 0.01
        /*
        缺点:最常用的交换方法,但需创建额外空间
        */
上一篇:.htaccess中301强制跳转到带www前缀或不带www的域名


下一篇:Haystack(全文搜索框架)