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