今天主要是学习了面试宝典上的一些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 }
测试结果如下:
总结:在没看之前,几乎以为需要中间变量才能实现,原来两个变量交换还可以采用这种方式实现