------- <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,以及调用该方法时对应的数据类型的和位置。
此方法为根据数组中的角标互换位置