java中两个数值交换的三种方式

两个数值交换

效率高低
按位异或(整数)、求和(一般是整数)、中间变量(常用、任意数据、简单)
代码

class WeiTest2{
	public static void main(String[] args) {
		//定义变量
		int a=4;
		int b=5;
		System.out.println("a的值:"+a+",b的值:"+b);
		//1.中间变量
		/*int temp =a;
		a=b;
		b=temp;
		System.out.println("a的值:"+a+",b的值:"+b);*/
		
		//2.按位异或
		/*a=a^b;   
		b=a^b;   // b=a^b^b=a
		a=a^b;   //a=a^b^a=b
		System.out.println("a的值:"+a+",b的值:"+b);*/

		//3.求和
		a=a+b;
		b=a-b;  //b=a+b-b=a
		a=a-b;   //a=a+b-a=b
		System.out.println("a的值:"+a+",b的值:"+b);
		
	}
}

你可能感兴趣的:(java,java)