交换两个变量的值的三种方法

方法一:定义临时变量法

运用此方法比较简单

public class 定义临时变量 {

    public static void main(String[] args) {
        int v1=1;
        int v2=2;
        System.out.println("v1="+v1+","+"v2="+v2);
        int temp;//定义临时变量
        temp=v1;//实现交换
        v1=v2;
        v2=temp;
        System.out.println("v1="+v1+","+"v2="+v2);

    }
}

代码运行结果如下:
在这里插入图片描述

方法二:运算符法

运用此方法有好处也有弊端。
好处:不用再定义临时变量。
弊端:加法操作可能会导致超出存储范围,并且只能用于数值型变量的交换,有一定的局限性。

public class 运算符法 {
    public static void main(String[] args) {
        int v1=1;
        int v2=2;
        System.out.println("v1="+v1+","+"v2="+v2);
        v1=v1+v2;//3
        v2=v1-v2;//1
        v1=v1-v2;//2
        System.out.println("v1="+v1+","+"v2="+v2);
    }

}

代码运行结果如下:
在这里插入图片描述

方法三:位运算法(异或)

位运算符操作的都是整型的数据,所以此方法也具有一定的局限性。
异或运算法则:如果两个值不相同,则异或结果为1,如果两个值相同,异或结果为0。

public class 位运算法 {
    public static void main(String[] args) {
        int v1=1;
        int v2=2;
        System.out.println("v1="+v1+","+"v2="+v2);
        v1=v1^v2;
        v2=v1^v2;
        v1=v1^v2;
        System.out.println("v1="+v1+","+"v2="+v2);
    }
}

代码运行结果如下:
在这里插入图片描述
新手上路,因能力有限,若有不足之处还望大家海涵!