黑马程序员技术交流社区

标题: 关于数值互换的问题 [打印本页]

作者: 蓝枫    时间: 2014-3-9 22:50
标题: 关于数值互换的问题
class Demo
{
        public static void main(String[] args)
        {
        int n = 3, m = 8;
       
        int x = n;
        n = m;
        m = x;
这是通过第三方变量进行两个值的互换,如果不用第三方变量,如何互换呢?
作者: 焚雨成灰    时间: 2014-3-9 22:53
int a,b;
a=3;b=8;
a=b-a;
b=b-a;
a=b+a;
作者: Aenon    时间: 2014-3-9 22:55
用异或
n=n^m;
m=n^m;
n=n^m;
异或一个数两次是它本身
作者: 蓝枫    时间: 2014-3-9 23:17
Aenon 发表于 2014-3-9 22:55
用异或
n=n^m;
m=n^m;

谢谢::handshake
作者: Aenon    时间: 2014-3-9 23:31
蓝枫 发表于 2014-3-9 23:17
谢谢:

我也没学多久,看看视频就清楚了,这些毕姥爷都讲了 。
作者: 2528870651    时间: 2014-3-10 18:23
  1. n=n^m;
  2. m=n^m;            //其实这是利用了异或
  3. n=n^m;
复制代码


//如 :  7^4^4=7   7^5^5=7   异或2次就等于原来的数了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2