(位运算符)请自己实现两个整数变量的交换 ^的特点 (面试题)

JAVA面试:


int a=10;
int b=20;
//方式1:借用第三方变量
int c;
c=a;
a=b;
b=c;
System.out.println("a:"+a+":"+"b:"+b);
//方式2:使用位异或实现
a=a^b;
b=a^b;
a=a^b;
System.out.println("a:"+a+":"+"b:"+b);
//方式3:使用a和b的和相减
a=a+b;
b=a-b;
a=a-b;
System.out.println("a:"+a+":"+"b:"+b);
//方式4:一句话搞定
b=(a+b)-(a=b);
System.out.println("a:"+a+":"+"b:"+b);

发布了30 篇原创文章 · 获赞 38 · 访问量 14万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章