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);
	}

}

相关文章:

  • 2021-09-17
  • 2021-10-15
  • 2021-08-21
  • 2021-12-09
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-12-06
  • 2021-10-03
  • 2022-12-23
  • 2022-12-23
  • 2021-07-28
相关资源
相似解决方案