A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

怎样用一行代码实现两个变量数值交换?

6 个回复

倒序浏览
可以写一个交换函数 在调用
回复 使用道具 举报
自由自在2014 发表于 2014-2-26 13:03
可以写一个交换函数 在调用

这就不是一行代码了
回复 使用道具 举报
  a = (a+b)-(b=a);

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报 1 0
一行代码是不行的  除非整个方法  下面是有三种交换变量的值的方法
  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.         }
复制代码

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报

受教了!
回复 使用道具 举报 0 1
wdtdcm 中级黑马 2014-2-27 11:29:20
7#
我记得一个很有意思的交换方式
a^=b^(b^=a^b);
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马