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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 唤月 中级黑马   /  2014-5-21 20:06  /  1172 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.通过第三方变量。
例如:
      int  a=3,b=5;  //交换两个数的值
      //实现过程
      int temp;
      temp=a;
      a=b;
      b=temp;

2.不通第三方变量
例如:
      int  a=3,b=5;  //交换两个数的值
      //实现过程
      a=a+b;

      b=a-b;
      a=a-b;

5 个回复

倒序浏览
补充:
第二种方法的局限性在于:当a与b的值超大时容易超出int型的最大值。。。。。

3.通过位移运算符^
例如:
      int  a=3,b=5;  //交换两个数的值
      //实现过程
      a=a^b;

      b=a^b; //(a^b)^b=a
      a=a^b;//(a^b)^a=b
总结:一个数异或同一个数两次,结果等于他本身。。。。


在快发过程中适合用第一种方法,阅读性好,容易理解。。。。
回复 使用道具 举报
你这是提问帖,,你的问题是什么呢??
回复 使用道具 举报
对于黑马的发帖机制,真心觉得难搞??????看不懂?????
回复 使用道具 举报
哎,又发现了一个传智播客 Java预热班512期的一名学员~今天放假,小哥没去自习么
回复 使用道具 举报
int a,temp,min;
a=10;
temp=0;
min=1;
  temp=a;
         a=min;
          min=temp;
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马