当前位置: 首页 > 图灵资讯 > 技术篇> 两个变量交换的四种方法(Java)

两个变量交换的四种方法(Java)

来源:图灵教育
时间:2023-06-06 09:32:29

对于两种变量的交换,我发现了四种方法,下面我用Java来演示。

1.使用第三个变量交换值,一种简单的方法。

(代码演示)

class TestEV 2 //创建一个类 3 { 4     public static void main(String[]args) 5     { 6         int x =5,y=10; //定义两个变量 7           8         int temp = x;    ///定义第三个临时变量temp,提取x值 9         x = y;        ///给X10yy的值         y = temp;      //然后将临时变量temp值赋予y11         12         System.out.println("x="+x+"y="+y);13         14     }15     16 }

2.数据交换可以通过两种数求和相减来进行。缺点是如果 x 和 y 如果数值过大,超过 int 该值会失去精度。

(代码演示)

class TestEV 2 //创建一个类 3 { 4     public static void main(String[]args) 5     { 6         int x =5,y=10; //定义两个变量 7          8         x = x + y;        //x(15) = 5 + 10; 9         y = x - y;        //y(5) = x(15) - 10;        10         x = x - y;        //x(10) = x(15) - y(5)11         System.out.println("x="+x+"y="+y);12         13     }14     15 }

3.数据交换采用位置操作的方式,使用的思想原理是:一个数异或同一个数两次,结果仍然是那个数,而且不会超出int的范围

(代码演示)

1 class TestEV 2 //创建一个类 3 { 4     public static void main(String[]args) 5     { 6         int x =5,y=10; //定义两个变量 7          8                 x = x^y; 9         y = x^y;  //y=(x^y)^y10         x = x^y;  //x=(x^y)^x11         System.out.println("x="+x+"y="+y);12         13     }14     15 }

4.最简单的是在打印输出时直接交换变量

(代码演示)

class TestEV 2 //创建一个类 3 { 4     public static void main(String[]args) 5     { 6         int x =5,y=10; //定义两个变量 7          8         System.out.println("x="+y+"y="+x); /////输出时直接交换 9         10     }11     12 }