题解 | 交换变量值
交换变量值
https://www.nowcoder.com/practice/bd243c9bef70492f91959cc5556546a8
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
int b = scanner.nextInt();
//write your code here.......
// 常规
a += b;
b = a - b;
a -= b;
/*
原理:
a = a + b;就是常规的加法
b = (a + b) - b = a; // 此时得到a的值
a = a - b = (a + b) - a = b; // 得到b的值
例子:
a = 5;
b = 8;
a = a + b = 5 + 8 = 13;
b = a - b = 5 + 8 - 5 = 8;
a = a - b = 13 - 8 = 5;
*/
// 位运算
a = a^b;
b = a^b;
a = a^b;
// 把常规通过运算符优先级一行代码实现
a = (a + b) - (b = a);
System.out.println(a+" "+b);
}
}
查看8道真题和解析