java实现交换两个数

package com.echo;

public class SwapTwoNumbers {

	public static void main(String[] args) {
		int a = 10;
		int b = 20;

		// 1)用第三方变量(开发用)
		// int temp = a;
		// a = b;
		// b = temp;
		// System.out.println("1)用第三方变量实现:" + "a = " + a + ",b = " + b);

		// 2)用变量相加实现
		// a = a + b;
		// b = a - b;
		// a = a - b;
		// System.out.println("2)用变量相加实现:" + "a = " + a + ",b = " + b);

		// 3)用位异或实现(面试用)
		// ^特点:一个数据对另一个数据异或两次,该数本身不变
		// 左边:a b a
		// 右边:a^b
		// a = a ^ b;
		// b = a ^ b; // a ^ b ^ b = a
		// a = a ^ b; // a ^ a ^ b = b
		// System.out.println("3)用位异或实现:" + "a = " + a + ",b = " + b);

		// 4)一句话搞定
		b = (a + b) - (a = b); // b = 10, a = 20
		System.out.println("4)一句话实现:" + "a = " + a + ",b = " + b);
	}

}

posted @ 2018-07-24 19:35  微微_echo  阅读(2168)  评论(0编辑  收藏  举报