比如a=5,b=7,在不用第三變量的情況下怎么交換a與b的值?

解决方案 »

  1.   

    a = a + b;
    b = a - b;
    a = a - b;
      

  2.   

    int a = 5;
            int b = 7;
            a = a ^ b;
            b = a ^ b;
            a = a ^ b;
            System.out.println("a = " + a + ", b = " + b );
      

  3.   

    a = a ^ b;
    b = a ^ b;
    a = a ^ b;
      

  4.   

    字符串一样可以。对象我就没办法了。        String a ="String_1";
            String b ="String_2";
            a=a+b;
            b=a.substring(0,a.length()-b.length());
            a=a.substring(b.length());
            System.out.println ("a="+a);
            System.out.println ("b="+b);
      

  5.   

    Inhibitory的方法在java中不行,详细内容参考Java™ Puzzlers: Traps, Pitfalls, and Corner Cases By Joshua Bloch, Neal Gafter 的Puzzle 7: Swap Meathttp://yoiing.blog.sohu.com/54073615.html