美文网首页
已知a,b均是整型变量,写出将a,b两个变量中的值互换的程序

已知a,b均是整型变量,写出将a,b两个变量中的值互换的程序

作者: 逍噬 | 来源:发表于2019-03-15 10:41 被阅读0次

如果觉得这篇文章对您有帮助,记得关注我哟!


方法一:

    通过一个中间变量来实现数据之间的交换

    int a = 1,b = 10;

    int temp = a;     // 将a的值先赋值给中间变量temp

    a = b;    //然后把b的值赋值给a

    b = temp;    //最后再把temp中存的a的值赋值给b

    System.out.println(a+" "+b);

    这种交换过程就像一个圆环,圆环上有三个值,顺时针或逆时针的将值赋给前(后)的变量。从而实现数据的交换,许多排序方法也是通过中间变量来达到小的数值放前面,大的数值放后面。


方法二:

    不使用中间变量,通过加减运算符实现两个变量之间的数据交换。

    int a = 10, b = 20;

    a = a+b;    //此时的a=30;

    b = a-b;    //b=30-20=10,a=30不变

    a = a-b;    //a=30-10=20,a改变

    System.out.println(a+" "+b);


方法三:

    不使用中间变量,通过位运算符实现两个变量之间的数据交换。

    int a = 11, b = 14;    //二进制:a=8 —— 1011,b=14 —— 1110

    a = a^b;         // a^b,异或运算,只有对应位数的值相等时才能返回1,否则返回0

                        // 所以a=a^b=1011^1110=1010;

    b = a^b;     // b=a^b=1010^1110=1011,即b=原本a的值

    a = a^b;    // a=a^b=1010^1011=1110,即a=原本b的值

    System.out.println(a+" "+b);

相关文章

网友评论

      本文标题:已知a,b均是整型变量,写出将a,b两个变量中的值互换的程序

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