Java小案例——交换两个数值的三种方法

Posted 沐易笙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java小案例——交换两个数值的三种方法相关的知识,希望对你有一定的参考价值。

要求:

  互换两个数的值


方法一:借助第三方变量

/**
 * 借助第三方变量对两个值进行互换
 * @author Administration
 *
 */
public class ExchangeValue {

    public static void main(String[] args) {
        int a = 10;
        int b = 15;
        System.out.println("a的值:"+a+",\tb的值:"+b);
        System.out.println("对两个值执行互换操作...");
        int temp = a;
        a=b;
        b=temp;
        System.out.println("a的值:"+a+",\tb的值:"+b);
    }
}

运行结果:

a的值:10,    b的值:15
对两个值执行互换操作...
a的值:15,    b的值:10

方法二:不需要借助第三方变量(加减运算)

/**
 * 不需要借助第三方变量对两个值进行互换
 * @author Administration
 *
 */
public class ExchangeValue {

    public static void main(String[] args) {
        int a = 10;
        int b = 15;
        System.out.println("a的值:"+a+",\tb的值:"+b);
        System.out.println("对两个值执行互换操作...");
        a=a+b;  
        b=a-b;
        a=a-b;
        System.out.println("a的值:"+a+",\tb的值:"+b);
    }
}

运行结果:

a的值:10,    b的值:15
对两个值执行互换操作...
a的值:15,    b的值:10

方法三:不需要借助第三方变量(异或运算)

/**
 * 不需要借助第三方变量对两个值进行互换
 * @author Administration
 *
 */
public class ExchangeValue {

    public static void main(String[] args) {
        int a = 10;
        int b = 15;
        System.out.println("a的值:"+a+",\tb的值:"+b);
        System.out.println("对两个值执行互换操作...");
        a=a^b;
        b=a^b;
        a=a^b;
        System.out.println("a的值:"+a+",\tb的值:"+b);
    }
}

原理:某个数值a与一个数值b进行异或运算得到c,则再用c与b运算可以还原a。因此这个原理可以实现两个数值的交换。

运行结果:

a的值:10,    b的值:15
对两个值执行互换操作...
a的值:15,    b的值:10

 

以上是关于Java小案例——交换两个数值的三种方法的主要内容,如果未能解决你的问题,请参考以下文章

交换两个整数的三种方法

java代码[No.4]—快速排序算法的三种方式及其优化

交换函数swap的三种实现方法

excel间隔取值的三种公式写法-转载

交换两个变量的值的三种实现方式

js数值转换的三种方法