今天主要是学习了面试宝典上的一些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 }

测试结果如下:

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

 

posted on 2018-04-06 20:13  独对落花  阅读(279)  评论(0编辑  收藏  举报