Java练习题:控制台输入两个变量,交换这两个变量的值(多种方法)

目录

1. 方法一:创建临时变量

2. 方法二:相加法

5. 方法三:使用位运算符异或法


题目:控制台输入两个变量,交换这两个变量的值(多种方法)

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

有局限性:只能适用于数值类型

如果你有更好的方法,欢迎在评论区留言!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Golang_HZ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值