不借助第三方變數實現兩個整數變數值的互換
方法1:
public void test(int a,int b){
System.out.println("a="+a+";b="+b);
a=a+b;
b=a-b;//a-b為原來a中的值。
a=a-b;//由於此時的b是原來a中的值,所以本行程式碼的a-b即為原來b中的值。
System.out.println("a="+a+";b="+b);
}
注意:這種情況有一個侷限性:由於a和b的值是未知的,所以如果這兩個值都比較大的時候,則容易出現超出int範圍的問題。
方法2:
public void test_1(int a,int b){//採用異或運算子來實現,這種方法的原理是使用了異或運算這樣一個特點:一個數異或同一個數兩次其結果還是那個數。
System.out.println("a="+a+";b="+b);
a=a^b;
b=a^b;//相當於(a(剛傳過來的a)^b(剛傳過來的a))^b(剛傳過來的a),根據異或運算的特點可知其結果為a(剛傳過來的a),即b=a(剛傳過來的a)。
a=a^b;//相當於(a(剛傳過來的a)^b(剛傳過來的b))^b,由於程式碼執行過上面的程式碼後b的值變為了a(剛傳過來的a),所以等號右邊相當於(a(剛傳過來的a)^b(剛傳過來的b))^a(剛傳過來的a),根據異或運算的特點可知其結果為b(剛傳過來的b)。
System.out.println("a="+a+";b="+b);
}
相關文章
- 不使用臨時變數交換兩個變數的值變數
- js不使用第三個變數交換兩個變數的值JS變數
- 不用第三個變數,直接交換兩個變數的值變數
- Swift交換兩個變數的值Swift變數
- 如何交換兩個變數的值變數
- JavaScript兩個變數交換值(不使用臨時變數)JavaScript變數
- 如何不使用臨時變數,交換兩個變數的值。變數
- php不用第三個變數,交換兩個數的值PHP變數
- Excel 多個變數替換 實際值Excel變數
- c語言 - 交換兩個變數(不建立臨時變數)兩種方法C語言變數
- 不用第三個變數,交換變數的值變數
- 兩個數換值四種方法實現
- 交換兩個變數變數
- 異或運算的巧用 → 不用額外的變數,如何交換兩個變數的值?變數
- 交換兩個整型變數變數
- Oracle中的替換變數,&變數名,&&變數名說明Oracle變數
- 如何列印數值變數變數
- python整數和變數Python變數
- 5,javase程式碼實戰-運算子——位運算實現兩個變數的互換及其他方式(四)Java變數
- 數值變數交換常用方法變數
- javascript如何判斷一個變數是否是整數JavaScript變數
- python 交換兩個變數的方式Python變數
- 史上最糟糕的兩個變數名變數
- 世上最糟糕的兩個變數名變數
- MySQL中變數的定義和變數的賦值使用MySql變數賦值
- ORACLE USER 變數值Oracle變數
- C語言交換兩個變數的值的5種基本方法C語言變數
- 求兩個正整數的最大公約數與最小公倍數--C#實現C#
- 如何理解DDD中的不變性,不變數變數
- 成員變數、全域性變數、例項變數、類變數、靜態變數和區域性變數的區別變數
- 變數的分類(臨時(本地)變數、環境變數、全域性變數和系統變數)變數
- 面試題-JavaScript交換兩個變數的方法面試題JavaScript變數
- 網際網路廣告的兩個變數變數
- 【C語言】給定兩個整型變數的值,將兩個值的內容進行交換C語言變數
- javascript實現的將小數轉換為整數不進行四捨五入JavaScript
- 變數的解構賦值變數賦值
- JavaScript判斷兩個變數是否相等JavaScript變數
- js 判斷兩個變數是否相等JS變數