黑马程序员技术交流社区

标题: 怎样用一行代码实现两个变量数值交换? [打印本页]

作者: xietansheng    时间: 2014-2-26 12:29
标题: 怎样用一行代码实现两个变量数值交换?
怎样用一行代码实现两个变量数值交换?

作者: 自由自在2014    时间: 2014-2-26 13:03
可以写一个交换函数 在调用
作者: xietansheng    时间: 2014-2-26 13:14
自由自在2014 发表于 2014-2-26 13:03
可以写一个交换函数 在调用

这就不是一行代码了
作者: 乔青山    时间: 2014-2-26 13:46
  a = (a+b)-(b=a);
作者: 郝大龙0104    时间: 2014-2-26 15:42
一行代码是不行的  除非整个方法  下面是有三种交换变量的值的方法
  1. public static void exchange1(int a, int b) {
  2.                 int temp;
  3.                 temp = a;
  4.                 a = b;
  5.                 b = temp;
  6.                 System.out.println("a="+ a + "b = "+b);
  7.                
  8.         }
  9.         public static void exchange2(int a, int b) {
  10.                 a = a + b;
  11.                 b = a - b;
  12.                 a = a - b;
  13.                 System.out.println("a="+ a + "b = "+b);
  14.         }
  15.         public static void exchange3(int a, int b) {
  16.                 a = a ^ b;
  17.                 b = a ^ b;
  18.                 a = a ^ b;
  19.                 System.out.println("a="+ a + "b = "+b);
  20.         }
复制代码

作者: kkopopo    时间: 2014-2-26 23:36
乔青山 发表于 2014-2-26 13:46
a = (a+b)-(b=a);

受教了!
作者: wdtdcm    时间: 2014-2-27 11:29
我记得一个很有意思的交换方式
a^=b^(b^=a^b);




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2