Java不借助第三變量實現(xiàn)兩數(shù)交換的示例
更新時間:2022年02月17日 09:48:47 作者:負債程序猿
本文主要介紹了Java不借助第三變量實現(xiàn)兩數(shù)交換的示例,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
基操
兩數(shù)交換最簡單最容易理解的就是借助第三變量
public void swapOne(){
int a = 4;
int b = 5;
int c = a;
a = b;
b = c;
System.out.println("a:"+a); //a:5
System.out.println("b:"+b); //a:4
}
進階
利用數(shù)學計算
public void swapTwo(){
int a = 4;
int b = 5;
a=a+b;
b=a-b;
a=a-b;
System.out.println("a:"+a); //a:5
System.out.println("b:"+b); //a:4
}
更進階
利用異或運算
public void swapThree(){
int a = 4;
int b = 5;
a = a ^ b; // 0101 ^ 0100 ===> 0001,此時a的值為1
b = a ^ b; // 0001 ^ 0100 ===> 0101,此時b的值為5
a = a ^ b; // 0001 ^ 0101 ===> 0100,此時a的值為4
System.out.println("a:"+a); //a:5
System.out.println("b:"+b); //a:4
}
PS:不借助第三個變量實現(xiàn)兩個變量的交換(數(shù)字或者字符串)
//利用php spl標準類庫中的棧數(shù)據(jù)結構,先進后出實現(xiàn) $a = 'abcde'; $b = 'efghi'; $stack = new SplStack(); $stack->push($a); $stack->push($b); $a = $stack->pop();//efghi $b = $stack->pop();//abcde //利用坐標軸上的兩點距離數(shù)學計算? $a = 10; $b = 12; $a = $b - $a; $b = $b - $a;//10 $a ?= $b + $a;//12 //利用位運算中的^ $a = 10; $b = 12; $a = $a ^ $b; $b = $b ^ $a; //10 $a = $a ^ $b; //12
到此這篇關于Java不借助第三變量實現(xiàn)兩數(shù)交換的示例的文章就介紹到這了,更多相關Java 兩數(shù)交換 內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Spring Security 實現(xiàn)“記住我”功能及原理解析
這篇文章主要介紹了Spring Security 實現(xiàn)“記住我”功能及原理解析,需要的朋友可以參考下2020-05-05
Java搭建簡單Netty開發(fā)環(huán)境入門教程
這篇文章主要介紹了Java搭建簡單Netty開發(fā)環(huán)境入門教程,有詳細的代碼展示和maven依賴,能夠幫助你快速上手Netty開發(fā)框架,需要的朋友可以參考下2021-06-06

