给定两个 int 变量,交换变量的值。Java 实现

本文介绍了在不使用额外变量的情况下,如何通过加减法和异或操作交换两个变量的值,同时也涵盖了使用临时变量的传统方法。这三种方法分别适用于不同的场景和需求,对于理解变量操作和位运算原理有很好的帮助。

交换两个变量的值,我们首先能分成两种做法。第一种是创建一个临时变量来保存其中一个变量的值,从而进行交换;第二种是不创建临时变量使用加减方法和异或的方法实现两个值的交换。
创建临时变量是我们能直接想到最简单的方法;如果不允许创建临时变量我们也能想到用加减法来实现,并且不会产生值溢出的情况。但是异或的方法前提是我们对位运算非常了解他们的特性,这个比较难想到。
具体代码实现如下:

public class Java {
    public static void main(String[] args) {
        int a = 40;
        int b = 20;
        // 方法一(创建临时变量):
        int num = 0;
        num = a;
        a = b;
        b = num;
        // 方法二(不创建临时变量,使用加减方法):
        b = a - b;
        a = a - b;
        b = a + b;
        // 方法三(不创建临时变量,使用异或方法):
        a = a ^ b;
        b = a ^ b;
        a = a ^ b;
        System.out.println(a);
        System.out.println(b);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值