java 交换两个变量的值
- 定义临时变量
- 通过算术运算
- 通过位运算符实现
新建 ExchangeTest
/**
* 交换两个数
*/
public class ExchangeTest {
public static void main(String[] args) {
ExchangeTest exchangeTest = new ExchangeTest();
// exchangeTest.test01();
// exchangeTest.test02();
exchangeTest.test03();
}
/**
* 定义临时变量
*/
public void test01(){
int a = 10;
int b = 20;
int temp = a; // 10
a = b; // a:20
b = temp; // b:10
System.out.println("a=" + a + " b=" + b);
}
/**
* 通过算术运算
*/
public void test02(){
int a = 10;
int b = 20;
a = a + b; // a: 10 + 20 = 30
b = a - b; // b: 30 - 20 = 10
a = a - b; // 30 - 20 = 10
System.out.println("a=" + a + " b=" + b);
}
/**
* 用位运算符 异或
*/
public void test03(){
int a = 10;
int b = 20;
a = a ^ b; // a改变值之后记录为a,为改变值的记录为a1 b改变值之后记录为b,为改变值的记录为b1
b = a ^ b; // a1 ^ b ^ b -> b = a1 = 10
a = a ^ b; // a1 ^ b1 ^ a1 -> a = b1 = 20
System.out.println("a=" + a + " b=" + b);
}
}