java实现两个int数交换

Posted Hello.World!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java实现两个int数交换相关的知识,希望对你有一定的参考价值。

普通方法,进阶方法,大神方法

 1 @Test
 2     public void test3(){
 3         int m = 5;
 4         int n = 12;
 5         
 6         //要求m和n交换位置
 7         System.out.println("m=" + m + " n=" + n);//m=5 n=12
 8         
 9         //方法一:定义临时变量
10         //优点:操作简单,缺点:需定义临时变量,内存消耗较大
11         int temp = m;
12             m = n;
13             n = temp;
14         System.out.println("m=" + m + " n=" + n);//m=12 n=5
15         
16         //方法二:不定义临时变量,使用相加
17         //优点:无需定义临时变量,节省内存。缺点:当两个数值较大时,容易丢失精度
18         m = m + n;//12 + 5
19         n = m - n;//12 + 5 - 5,是原来的m的值,赋给n
20         m = m - n;//12 + 5 - 12,是原来n的值,赋给m
21         System.out.println("m=" + m + " n=" + n);//m=5 n=12
22         
23         //方法三:大神专用,使用异或^
24         //优点:不会丢失精度,不用定义变量,内存消耗最小,缺点:一般人不会想到这么写,写了一般人也看不懂
25         m = m ^ n;
26         n = m ^ n;// m ^ n ^ n == m
27         m = m ^ n;// m ^ n ^ m == n
28         System.out.println("m=" + m + " n=" + n);//m=12 n=5
29         
30     }

方法二不建议使用,因为有可能丢失精度

以上是关于java实现两个int数交换的主要内容,如果未能解决你的问题,请参考以下文章

两个数的交换

实现一个函数来交换两个整数的内容(C语言代码练习)

编写程序,任意输入两个数,通过函数调用交换两个变量值。

实现用函数交换两个数的值

如何不运用第三方变量实现两个数的交换

用C语言编写程序实现两个整数交换值