Java中不使用第三个数交换两个数!

一般交换两个数,都是声明第三个数,如:

int a=1;
int b=2;
int c;//交换a b  ,生成c
c=a;
a=b;
b=c;

如果不想使用第三个数,可以巧妙的运用四则运算,如:

int a=13;
int b=23;
a=b-a;
b=b-a;
a=a+b;

还有就是使用到位运算符的方式,异或,符号为 ^ ,规则是:两个操作数,转为二进制,相同则为0,不同则为1。

int x=10; //  1010
int y=5;// y= 0101
x=x^y;  // x= 1111  =15
y=y^x;//   y= 1010  =10
x=x^y;//   x= 0101  =5


  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值