05-不借用第三个变量实现两个变量值互换(运算符)
2013-06-20 18:43
267 查看
/** * 变量值互换(不使用第三个变量) 使用异或运算符^ * */ public class Test3 { public static void main(String[] args) { int a = 10; int b = 20; a = a ^ b; b = b ^ a; a = a ^ b; System.out.println("a的值为:" + a); System.out.println("b的值为:" + b); } }
原理分析:
异或运算公式:
a^b=a`b+ab` (`==非)
例如:a=1(二进制为0001) b=2(二进制为0010)
则 a=a^b=a`b+ab`=1110*0010+0001*1101=0010+0001=2+1=3;
b=b^a=a`b+ab`=1100*0010+0011*1101=0000+0001=0+1=1;
a=a^b=a`b+ab`=1100*0001+0011*1110=0000+0010=0+2=2;
所以最后a的值为:2 b的值为:1
相关文章推荐
- 05-不借用第三个变量实现两个变量值互换(运算符)
- [Java] 不使用第三个变量实现两个整数类型变量互换(异或运算符)
- Java基础知识强化05:不借助第三个变量实现两个变量互换
- Java实现两个变量值互换-----不借助第3个变量
- 实现两个变量的互换(不借助第三个变量)
- 不借助第三方变量实现两个整数变量值的互换
- 实现两个数字的互换,不需要借助第三个变量
- 不使用第三个变量,实现两个变量值的交换
- Java基础应用之运算符(实现两个变量的互换(借助第3个变量))
- 有两个int型变量a,b,在不使用第三个变量的情况下实现a,b互换
- Java基础应用之运算符(实现两个变量的互换(不借助第3个变量))
- 不使用第三个值,实现两个变量的互换
- 300.7实现两个变量的互换,不借助第三个变量
- 不使用第三个变量的情况下,实现两个变量间的互换。
- 实现两个变量的互换(不借助第三个变量)
- 不借助第三个变量,实现两个整数互换值
- 不借助第三个变量实现两个变量的互换
- java 实现两个变量的互换(不借助第三个变量,即中间变量、临时变量)
- 5,javase代码实战-运算符——位运算实现两个变量的互换及其他方式(四)
- java实现两个变量值交换不使用第三个变量