1. 程式人生 > >Java不借助第三方變量交換兩個變量的值

Java不借助第三方變量交換兩個變量的值

style system int ava pan 運算符 ring out java

這種方式有個隱患,如果兩個數相加超過了類型的上限,會影響精度,導致結果不準確;

public class Test {

    public static void main(String[] args) {
        int i=1;
        int j=3;
        i=i+j;
        j=i-j;
        i=i-j;
        System.out.println(i+","+j);
    }
    
}

使用位^運算符就不會出現上面的情況

public class Test001 {

    public static void
main(String[] args) { int i=1; int j=3; i=i^j; j=i^j; i=i^j; System.out.println(i+","+j); } }

Java不借助第三方變量交換兩個變量的值