目录
题目:控制台输入两个变量,交换这两个变量的值(多种方法)
1. 方法一:创建临时变量
定义一个临时变量,①把num1的值赋值给temp②num2的值赋值给num1③把temp的值给num2
// 方法一:创建临时变量
import java.util.Scanner;
public class SwitchNum {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int num1 = scan.nextInt();
int num2 = scan.nextInt();
int temp = num1;
num1 = num2;
num2 = temp;
System.out.println(num1);
System.out.println(num2);
}
}
结果:
2. 方法二:相加法
好处:不用定义临时变量
弊端:①相加操作可能超出存储范围 ② 有局限性:只能适用于数值类型
// 方法二:相加
import java.util.Scanner;
public class SwitchNum {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int num1 = scan.nextInt();
int num2 = scan.nextInt();
num1 = num1 + num2;
num2 = num1 - num2; // num1
num1 = num1 - num2; // num2
System.out.println(num1);
System.out.println(num2);
}
}
结果:
5. 方法三:使用位运算符异或法
异或运算:m = k ^ n = (m ^ n) ^ n
有局限性:只能适用于数值类型
如果你有更好的方法,欢迎在评论区留言!