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     }

方法二不建議使用,因為有可能丟失精度


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM