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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


          int i = 1;
          int j = 2;
[url=]/*利用第三方变量,作为临时存储[/url]  来达到置换功能 该方法在开发的时候使用*/
          int temp = i;
               i=j;
               j=temp;
          System.out.println(i+"←→"+j);



例:
void swap(int &a,int &b)// 这里定义一个引用
{
  int temp = a;
          a=b;
          b=temp;
}

-------------------------------------------------------------------------------------------
          int a = 3;
          int b = 4;
[url=]/*利用位异或的特性,异或两次值不变的属性[/url] 来达到不使用第三方变量去置换数据功能*/
          a = a ^ b;
          b = a ^ b;
          a = a ^ b;
          System.out.println(a+"←→"+b);

例:
void swap(int &a,int &b)
{
a = a^ b ;
b = a^ b ;
a = a^ b ;
}
注意这里
int a   是定义一个整型变量a

int &a 是定义一个存放整形变量a的地址(定义的是一个地址)

------------------------------------------------------------------------------------------
          int x = 5;
          int y = 6;
/*利用算数运算的特点,达到不使用第三方变量去置换数据的功能*/
          x = x + y;
          y = x - y;
          x = x - y;
          System.out.println(x+"←→"+y);


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马