java基礎變數的交換
java基礎——變數的交換
說到變數的交換我們第一時間想到的就是使用第三方的變數來進行交換,如下:
public static void main(String[] args) {
int a = 40;
int b = 60;
int c;
c= a; //c = 40
a = b; // a = 60
b = c; // b = 40
}
上面程式碼使用第三方變數就把a和b的值交換過來了,但是,如果不使用第三方變數,可以用什麼方法交換兩個變數呢?這個問題面試中也經常問道,下面就來看看不使用第三方的變數如何交換兩個變數的值吧!
第一種方法:使用數學運算子
使用加減運算:
public static void main(String[] args) {
int a = 40;
int b = 60;
a = a + b;
b = a - b;
a = a - b;
System.out.println("a為:"+ a); // 60
System.out.println("b為:"+ b); // 40
}
或者使用乘除運算:
public static void main(String[] args) {
int a = 40;
int b = 60;
a = a * b;
b = a / b;
a = a / b;
System.out.println("a為:"+ a); // 60
System.out.println("b為:"+ b); // 40
}
第一種方法:使用賦值方法
上面的程式碼看起來比較臃腫,這個方法一條程式碼就解決了!
public static void main(String[] args) {
int a = 40;
int b = 60;
a = b + (b = a) * 0 ;
System.out.println("a為:"+ a); // 60
System.out.println("b為:"+ b); // 40
}
看不懂上面程式碼的朋友需要還好的學習下Java的基礎了!我們可以拆開右邊看:首先 b = 60 ,a = 40,套入程式碼裡面就是 60 + ( 40 ) * 0,為什麼括號裡面是40就不用多說了吧,a 的值賦值給了b 所以b現在等於40了那麼括號裡面也就為40,先算乘除後算加減,60 + ( 40 ) * 0 結果就等於60,這樣就把a和b的值給換過來了!
以上就是除了使用第三方變數換值外的另外兩種思路,你們有其他更好的思路嗎?
相關文章
- [java基礎]之變數Java變數
- Java基礎-基礎語法-變數與常量Java變數
- JAVA基礎04——變數與常量Java變數
- Java基礎06:變數、常量、作用域Java變數
- Java培訓基礎知識-Java的常量與變數Java變數
- Java基礎-成員變數和區域性變數的區別Java變數
- java基礎06-變數、常量、作用域Java變數
- Java逆向基礎之靜態變數存取Java變數
- JAVA基礎6-變數、常量、作用域Java變數
- JAVA基礎:Java變數型別間的相互轉換(轉)Java變數型別
- java基礎的學習之引數的變化使用Java
- [shell基礎]——變數變數
- 交換機基礎
- Java基礎:Java變數、資料型別、運算子(2)Java變數資料型別
- java基礎(九) 可變引數列表介紹Java
- Java基礎 成員變數的繼承與覆蓋Java變數繼承
- 不用第三個變數,交換變數的值變數
- 三種交換變數的方法變數
- 基礎 變數的作用範圍變數
- 交換兩個變數變數
- Python基礎:變數Python變數
- JavaScript基礎(二)變數JavaScript變數
- PHP基礎__變數、常量PHP變數
- python變數基礎Python變數
- 【譯】Java8官方教程:語言基礎—變數Java變數
- 數值變數交換常用方法變數
- 交換機基礎知識總結之層數
- linux基礎——shell變數(本地變數和環境變數)Linux變數
- 【Makefile】5-Makefile變數的基礎變數
- Swift交換兩個變數的值Swift變數
- 如何交換兩個變數的值變數
- python_基礎_變數Python變數
- PHP->GO 基礎-變數PHPGo變數
- c++基礎三(變數)C++變數
- 不使用臨時變數交換兩個變數的值變數
- 交換兩個整型變數變數
- Java基礎知識(變數、資料型別、運算子)Java變數資料型別
- 大資料之JAVA基礎(一):資料和變數大資料Java變數