------- <a href="http://www.itheima.com" target="blank">android培訓</a>、<a href="http://www.itheima.com" target="blank">java培訓</a>、期待與您交流! ----------
在java賦值變換中,對兩個變量的值進行互換,通常我們喜歡採用第三變量的方式,進行互換
Int類型的互換例如:
public static void swap(int x,int y,)
{
int temp=x;
x=y;
y=temp;
}
但是,在上述方法中多了一個變量temp,而且該變量只在該方法中,會給內存造成不必要的浪費。
所以採用下面的異或的方式可以解決這個問題
public static void swap(int x,int y,)
{
x=x^y;
y=x^y;
x=x^y;
}
Int數組類型的互換方式,就稍微有區別,多了一個數組變量,如果缺少該數組的定義,就會出錯。
數組類型的互換例如:
public static void swap(int x,int y,int []arr)
{
arr[x]=arr[x]^arr[y];
arr[y]=arr[x]^arr[y];
arr[x]=arr[x]^arr[y];
}
上面例子中注意數組類型int[] arr,以及調用該方法時對應的數據類型的和位置。
此方法爲根據數組中的角標互換位置