欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java三种方式交换两个变量的值

程序员文章站 2022-07-03 19:18:25
...

直接上代码,代码注释里有详细的说明。

public class SwapTest {
    public static void main(String[] args) {
        int num1 = 10;
        int num2 = 20;

        //方式一:定义临时变量的方式
        //推荐使用方式
        int temp = num1;
        num1 = num2;
        num2 = temp;
        System.out.println("方式一num1:"+num1);
        System.out.println("方式一num2:"+num2);

        //方式二:
        //好处:不用定义临时变量
        //弊端:① 相加操作可能超出存储范围
        //     ② 有局限性:只能适用于数值类型
        num1 = 10;
        num2 = 20;
        num1 = num1 + num2;
        num2 = num1 - num2;
        num1 = num1 - num2;
        System.out.println("方式二num1:"+num1);
        System.out.println("方式二num2:"+num2);

        //方式三:使用位运算符
        //有局限性:只能适用于数值类型
        num1 = 10;
        num2 = 20;
        num1 = num1 ^ num2;
        num2 = num1 ^ num2;
        num1 = num1 ^ num2;
        System.out.println("方式三num1:"+num1);
        System.out.println("方式三num2:"+num2);
    }

}

运行结果:

方式一num1:20
方式一num2:10
方式二num1:20
方式二num2:10
方式三num1:20
方式三num2:10

Process finished with exit code 0