对于初学者来说,不管是学哪种语言,经常会遇到以下的题目:对两个变量的数值进行互换。今天特对此做个总结,我所熟知的三种方法。
第一种方法-----利用第三方变量.
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); } }总结不到位之处,还望各位指出。