java基础课程_数据交换三种方法

  //方法一
  int c = n;
  n=m;
  m=c;
  //测试
  System.out.println("n="+n+"\nm="+m);
  
  
  //方法 二用 +-做交换
  int x=10,y=5;
  x=x+y;  //5+20
  y=x-y;  //25-20
  x=x-y;  //25-5
  System.out.println("x="+x+"\ny="+y);
  
  //方式三 异或效率最高
  int a=2,b=4;
  a=a^b;
  b=a^b;
  a=a^b;
  System.out.println("a="+a+"\nb="+b);
  ///////////////////////////////////////////////////////////////////////////////////////////////////////拓展取反////////////////////////////////////////////////////////////
  // 取反
  /*
   *计算机存储整数以 源码形式存储,负数以补码形式存储
   *
   * */
  int q=3,e=1;
  q=~e;e=~q;q=~e;
  System.out.println("q="+q+"\ne="+e);

posted @ 2017-07-21 13:11  CiscoLee  阅读(358)  评论(0编辑  收藏  举报