java基础变量的交换

java基础——变量的交换

说到变量的交换我们第一时间想到的就是使用第三方的变量来进行交换,如下:

public static void main(String[] args) { 
        int a = 40;
        int b = 60;
        int c;   
        c= a;  //c = 40
        a = b;  // a = 60
        b = c;  // b = 40
    }

上面代码使用第三方变量就把a和b的值交换过来了,但是,如果不使用第三方变量,可以用什么方法交换两个变量呢?这个问题面试中也经常问道,下面就来看看不使用第三方的变量如何交换两个变量的值吧!

第一种方法:使用数学运算符
使用加减运算:

public static void main(String[] args) {

        int a = 40;
        int b = 60;

        a = a + b;
        b = a - b;
        a = a - b;

        System.out.println("a为:"+ a);  // 60
        System.out.println("b为:"+ b);  // 40

    }

或者使用乘除运算:

public static void main(String[] args) {

        int a = 40;
        int b = 60;
        
        a = a * b;
        b = a / b;
        a = a / b;
        
        System.out.println("a为:"+ a); // 60
        System.out.println("b为:"+ b); // 40
    }

第一种方法:使用赋值方法
上面的代码看起来比较臃肿,这个方法一条代码就解决了!

public static void main(String[] args) {

        int a = 40;
        int b = 60;
        
        a = b + (b = a) * 0 ;
        
        System.out.println("a为:"+ a); // 60
        System.out.println("b为:"+ b); // 40
    }

看不懂上面代码的朋友需要还好的学习下Java的基础了!我们可以拆开右边看:首先 b = 60 ,a = 40,套入代码里面就是 60 + ( 40 ) * 0,为什么括号里面是40就不用多说了吧,a 的值赋值给了b 所以b现在等于40了那么括号里面也就为40,先算乘除后算加减,60 + ( 40 ) * 0 结果就等于60,这样就把a和b的值给换过来了!
以上就是除了使用第三方变量换值外的另外两种思路,你们有其他更好的思路吗?

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值