欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java不借助第三變量實(shí)現(xiàn)兩數(shù)交換的示例

 更新時(shí)間:2022年02月17日 09:48:47   作者:負(fù)債程序猿  
本文主要介紹了Java不借助第三變量實(shí)現(xiàn)兩數(shù)交換的示例,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

基操

兩數(shù)交換最簡(jiǎn)單最容易理解的就是借助第三變量

    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
    }

進(jìn)階

利用數(shù)學(xué)計(jì)算

    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
    }

更進(jìn)階

利用異或運(yùn)算

    public void swapThree(){
        int a = 4;
        int b = 5;
        a = a ^ b; // 0101 ^ 0100 ===> 0001,此時(shí)a的值為1
        b = a ^ b; // 0001 ^ 0100 ===> 0101,此時(shí)b的值為5
        a = a ^ b; // 0001 ^ 0101 ===> 0100,此時(shí)a的值為4
        System.out.println("a:"+a); //a:5
        System.out.println("b:"+b); //a:4
    }

PS:不借助第三個(gè)變量實(shí)現(xiàn)兩個(gè)變量的交換(數(shù)字或者字符串)

//利用php spl標(biāo)準(zhǔn)類庫(kù)中的棧數(shù)據(jù)結(jié)構(gòu),先進(jìn)后出實(shí)現(xiàn)
$a = 'abcde';
$b = 'efghi';

$stack = new SplStack();
$stack->push($a);
$stack->push($b);

$a = $stack->pop();//efghi
$b = $stack->pop();//abcde

//利用坐標(biāo)軸上的兩點(diǎn)距離數(shù)學(xué)計(jì)算?
$a = 10;
$b = 12;
$a = $b - $a;
$b = $b - $a;//10
$a ?= $b + $a;//12

//利用位運(yùn)算中的^
$a = 10;
$b = 12;
$a = $a ^ $b;
$b = $b ^ $a; //10
$a = $a ^ $b; //12

到此這篇關(guān)于Java不借助第三變量實(shí)現(xiàn)兩數(shù)交換的示例的文章就介紹到這了,更多相關(guān)Java 兩數(shù)交換 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java代理模式與動(dòng)態(tài)代理之間的關(guān)系以及概念

    Java代理模式與動(dòng)態(tài)代理之間的關(guān)系以及概念

    代理模式是開發(fā)中常見的一種設(shè)計(jì)模式,使用代理模式可以很好的對(duì)程序進(jìn)行橫向擴(kuò)展。動(dòng)態(tài)代理:代理類在程序運(yùn)行時(shí)被創(chuàng)建的代理方式。關(guān)鍵在于動(dòng)態(tài),程序具有了動(dòng)態(tài)特性,可以在運(yùn)行期間根據(jù)不同的目標(biāo)對(duì)象生成動(dòng)態(tài)代理對(duì)象
    2023-02-02
  • MyBatis的MapKey注解實(shí)例解析

    MyBatis的MapKey注解實(shí)例解析

    這篇文章主要為大家介紹了MyBatis的MapKey注解實(shí)例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • JAVA 中解密RSA算法JS加密實(shí)例詳解

    JAVA 中解密RSA算法JS加密實(shí)例詳解

    這篇文章主要介紹了JAVA 中解密RSA算法JS加密 的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • SpringBoot登錄用戶權(quán)限攔截器

    SpringBoot登錄用戶權(quán)限攔截器

    這篇文章主要介紹了SpringBoot登錄用戶權(quán)限攔截器,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Spring Security 實(shí)現(xiàn)“記住我”功能及原理解析

    Spring Security 實(shí)現(xiàn)“記住我”功能及原理解析

    這篇文章主要介紹了Spring Security 實(shí)現(xiàn)“記住我”功能及原理解析,需要的朋友可以參考下
    2020-05-05
  • 關(guān)于spring的自定義緩存注解分析

    關(guān)于spring的自定義緩存注解分析

    這篇文章主要介紹了關(guān)于spring的自定義緩存注解分析,因?yàn)樗械膋ey的失效時(shí)間都一樣,要想實(shí)現(xiàn)不同的key不同的失效時(shí)間,就得需要自定義緩存注解,需要的朋友可以參考下
    2023-05-05
  • Java基本數(shù)據(jù)類型之間的相互轉(zhuǎn)換詳解

    Java基本數(shù)據(jù)類型之間的相互轉(zhuǎn)換詳解

    這篇文章主要講解Java中基本數(shù)據(jù)類型的轉(zhuǎn)換,數(shù)據(jù)之間相互轉(zhuǎn)換是經(jīng)常會(huì)用到的基礎(chǔ)操作,文中講的很清晰,希望能給大家做一個(gè)參考。
    2022-05-05
  • java中字符串參數(shù)化符號(hào)${}的解析

    java中字符串參數(shù)化符號(hào)${}的解析

    這篇文章主要給大家介紹了java中字符串參數(shù)化符號(hào)${}是如何解析的,文中給出了詳細(xì)的分析與解決代碼,有需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-01-01
  • Java搭建簡(jiǎn)單Netty開發(fā)環(huán)境入門教程

    Java搭建簡(jiǎn)單Netty開發(fā)環(huán)境入門教程

    這篇文章主要介紹了Java搭建簡(jiǎn)單Netty開發(fā)環(huán)境入門教程,有詳細(xì)的代碼展示和maven依賴,能夠幫助你快速上手Netty開發(fā)框架,需要的朋友可以參考下
    2021-06-06
  • 利用java實(shí)現(xiàn)二叉搜索樹

    利用java實(shí)現(xiàn)二叉搜索樹

    這篇文章主要介紹了利用java實(shí)現(xiàn)二叉搜索樹,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04

最新評(píng)論