美文网首页java学习
NO.43 JAVA中交换两个变量

NO.43 JAVA中交换两个变量

作者: smallnumber | 来源:发表于2017-08-13 23:07 被阅读0次

    现定义两个变量,需要交换它们的值:

    int a = 10;int b = 15;

    1)定义临时变量(咬尾绕圈):

    int temp = a; //temp = 10;

    a = b; //a = 15;

    b = temp; //b = 10;

    多增加一个变量存值实现交换。

    2)数学算法:

    a = a + b; //a = 10 + 15 = 25;

    b = a - b; //b = 25 - 15 = 10;

    a = a - b; //a = 25 - 10 = 15;

    理论上加减乘除都可以,如果不损失精度的话。

    3)位运算:

    a = a ^ b; //a = 0x1010 ^ 0x1111 = 0x0101 = 5;

    b = a ^ b; //b = 0x0101 ^ 0x1111 = 0x1010 = 10;

    a = a ^ b; //a = 0x0101 ^ 0x1010 = 0x1111 = 15;

    ^ 异或位运算:两个二进制数对应位的数相同为0,不同为1

    相关文章

      网友评论

        本文标题:NO.43 JAVA中交换两个变量

        本文链接:https://www.haomeiwen.com/subject/hvqyrxtx.html