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

 

转载于:https://www.cnblogs.com/Mus-Li/p/6936747.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值