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

  //方法一
  int c = n;
  n=m;
  m=c;
  //测试
  System.out.println("n="+n+" m="+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+" y="+y);
  
  //方式三 异或效率最高
  int a=2,b=4;
  a=a^b;
  b=a^b;
  a=a^b;
  System.out.println("a="+a+" b="+b);
  ///////////////////////////////////////////////////////////////////////////////////////////////////////拓展取反////////////////////////////////////////////////////////////
  // 取反
  /*
   *计算机存储整数以 源码形式存储,负数以补码形式存储
   *
   * */
  int q=3,e=1;
  q=~e;e=~q;q=~e;
  System.out.println("q="+q+" e="+e);

原文地址:https://www.cnblogs.com/ciscolee/p/7217152.html