java如何交換這兩個變量的值方法介紹
更新時間:2012年11月15日 16:05:54 作者:
在編程中可能會使用java來完成兩個變量值的交換,本文將介紹如何解決此類問題,希望可以幫助您
1.借助中間量交換
int x = 10;
int y = 20;
int temp = x;
x = y;
y = temp;
此種方法可以將中間量看成空杯,即把temp看成是空杯,
把x看成是裝有白酒的杯子,把y看成是裝有紅酒的杯子
int temp = x; 把白酒倒到空杯中,此時temp裝有白酒,x變成空杯
x = y; 把y中的紅酒倒到x空杯中,此時x裝有紅酒,y變成空杯
y = temp; 把白酒倒到y(tǒng)空杯中,此時x裝有紅酒,y裝有白酒,實現(xiàn)x和y的互換
2.數(shù)值相加減交換
int x = 10;
int y = 20;
x = x + y;
y = x - y;
x = x - y;
此種方法通過先求得兩數(shù)的和再進行減運算
x = x + y; 此時x的值為10+20=30;
y = x - y; 此時的x經(jīng)上面的運算變成30,所以y = 30 - 20 = 10;
x = x - y; 此時的y經(jīng)上面的運算變成10,所以x = 30 - 10 = 20;實現(xiàn)兩個數(shù)的互換
3.位移運算交換
int x = 10;
int y = 20;
x = x ^ y;
y = x ^ y;
x = x ^ y;
int x = 10;
int y = 20;
int temp = x;
x = y;
y = temp;
此種方法可以將中間量看成空杯,即把temp看成是空杯,
把x看成是裝有白酒的杯子,把y看成是裝有紅酒的杯子
int temp = x; 把白酒倒到空杯中,此時temp裝有白酒,x變成空杯
x = y; 把y中的紅酒倒到x空杯中,此時x裝有紅酒,y變成空杯
y = temp; 把白酒倒到y(tǒng)空杯中,此時x裝有紅酒,y裝有白酒,實現(xiàn)x和y的互換
2.數(shù)值相加減交換
int x = 10;
int y = 20;
x = x + y;
y = x - y;
x = x - y;
此種方法通過先求得兩數(shù)的和再進行減運算
x = x + y; 此時x的值為10+20=30;
y = x - y; 此時的x經(jīng)上面的運算變成30,所以y = 30 - 20 = 10;
x = x - y; 此時的y經(jīng)上面的運算變成10,所以x = 30 - 10 = 20;實現(xiàn)兩個數(shù)的互換
3.位移運算交換
int x = 10;
int y = 20;
x = x ^ y;
y = x ^ y;
x = x ^ y;
相關文章
Jenkins初級應用之Invoke?Phing?targets插件配置
這篇文章主要為大家介紹了Jenkins初級應用之Invoke?Phing?targets的插件配置,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪<BR>2022-04-04java高級用法之綁定CPU的線程Thread?Affinity簡介
java線程thread affinity是用來將java代碼中的線程綁定到CPU特定的核上,用來提升程序運行的性能,這篇文章主要介紹了java高級用法之綁定CPU的線程thread affinity的相關知識,需要的朋友可以參考下2022-05-05SpringBoot使用RedisTemplate.delete刪除指定key失敗的解決辦法
本文主要介紹了SpringBoot使用RedisTemplate.delete刪除指定key失敗的解決辦法,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03JAVA技術實現(xiàn)上傳下載文件到FTP服務器(完整)
這篇文章主要介紹了JAVA技術實現(xiàn)上傳下載文件到FTP服務器(完整),本文使用 Apache Jakarta Commons Net(commons-net-3.3.jar) 基于FileZilla Server服務器實現(xiàn)FTP服務器上文件的上傳/下載/刪除等操作,需要的朋友可以參考下2015-07-07對Java的面對對象編程中對象和引用以及內(nèi)部類的理解
這篇文章主要介紹了對Java的面對對象編程中對象和引用以及內(nèi)部類的理解,需要的朋友可以參考下2016-01-01