如何用JAVA对两个整数变量的值进行互换的三种方法

时间:2021-02-22 19:30:10

对于初学者来说,不管是学哪种语言,经常会遇到以下的题目:对两个变量的数值进行互换。今天特对此做个总结,我所熟知的三种方法。

第一种方法-----利用第三方变量.

public class Demo01 {
	/*
	 * 利用第三方变量
	 */
	public static void main(String[] args) {
		int n=5,m=8;
		System.out.println("n="+n+",m="+m);
		int z;
		z=n;
		n=m;
		m=z;
		System.out.println("n="+n+",m="+m);
	}
	
}
第二种方法----不用第三方变量
public class Demo01 {
	/*
	 * 不利用第三方变量
	 */
	public static void main(String[] args) {
		int n=5,m=8;
		System.out.println("n="+n+",m="+m);
		m=m-n;   //3=8-5
		n=n+m;	 //8=5+3
		m=n-m;   //5=8-3
		System.out.println("n="+n+",m="+m);
	}
	
}
第三种方法----利用异或逻辑关系

这里说明一个技巧:A^B^B=A   (比如二进制001^110^110=001)

public class Demo01 {
	/*
	 * 利用异或的逻辑关系
	 */
	public static void main(String[] args) {
		int n=5,m=8;
		System.out.println("n="+n+",m="+m);
		n=n^m;   
		m=n^m;	 //m=(n^m)^m
		n=n^m;   //n=(n^m)^n
		System.out.println("n="+n+",m="+m);
	}
	
}
总结不到位之处,还望各位指出。