本帖最后由 巩建 于 2013-6-21 11:20 编辑
- /*
- 需求:将x和y的值互相倒换,不通过第三方变量.
- 思路:一个数^一个数2次那么还是原数
- 步骤:
- 1、x=x ^y 将x的值^上y用x记录该值
- 2、y=x^y 因为x的值为x^y即等式为y=x^y^y,一个数^一个数2次那么该值为x
- 3、x=x^y 因为y的值为x^y,x的值为x^y,即等式可以写成x=x^y^x^y
- 疑惑点:?为什么x最后会等于2
- */
- class Demo{
- public statci void main(String args[])
- {
- int x =4;int y=2;
- x=x^y;
- y=x^y;
- x=x^y;
- System.out.println("y="+y+","+"x="+x);
- }
- }
复制代码 疑惑点:?为什么x最后会等于2即y的值. 即步骤三里面的赋值表达式x=x^y;为什么等于2即 y???? |