搜索内容

有一个问题?

如果您有任何疑问,可以在下面询问或输入您要寻找的!

不借助第三变量实现两数交换

生成海报
负债程序猿(内推找我)
阅读需:0

基操
两数互换非常简单最非常容易了解的便是依靠第三自变量

    public void swapOne(){
        int a = 4;
        int b = 5;
        int c = a;
        a = b;
        b = c;
        System.out.println("a:"+a); //a:5
        System.out.println("b:"+b); //a:4
    }

升阶
运用计算能力

    public void swapTwo(){
        int a = 4;
        int b = 5;
        a=a+b;
        b=a-b;
        a=a-b;
        System.out.println("a:"+a); //a:5
        System.out.println("b:"+b); //a:4
    }

更升阶
运用异或运算

    public void swapThree(){
        int a = 4;
        int b = 5;
        a = a ^ b; // 0101 ^ 0100 ===> 0001,这时a的数值1
        b = a ^ b; // 0001 ^ 0100 ===> 0101,这时b的数值5
        a = a ^ b; // 0001 ^ 0101 ===> 0100,这时a的数值4
        System.out.println("a:"+a); //a:5
        System.out.println("b:"+b); //a:4
    }
评论
  • 消灭零回复