java中关于两个变量的交换0407

今天主要是学习了面试宝典上的一些java基础题,从中学到印象最深的就是 给定俩个整数a,b, 在不适用第三方变量的时候交换他们的位置,实现代码如下:

 1     /**
 2      * 在不使用第三个变量的情况下交换变量a和变量b的值
 3      */
 4     public static void changeVariable(int a, int b) {
 5         System.out.println("交换前a的值为:"+a+",b的值为:"+b);
 6         // 第一步 先把两个变量的和存在变量a中
 7         a = a + b;
 8 
 9         // 第二步 把两变量的和减去b,然后赋值给b,此时完成b的交换
10         b = a - b;
11 
12         // 第三步 把两变量的和减去b,此时的b值是已经交换后的值,然后赋值给a
13         a = a - b;
14         
15         //完成交换 
16         System.out.println("交换后a的值为:"+a+",b的值为:"+b);
17     }

调用测试:

1 public static void main(String[] args) {
2         //传入a=88,b=66;
3         int a=88,b=66;
4         changeVariable(a, b);
5 }

测试结果如下:

总结:在没看之前,几乎以为需要中间变量才能实现,原来两个变量交换还可以采用这种方式实现

 

转载于:https://www.cnblogs.com/geek-ddlh/p/8728719.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值