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

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ù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java代理模式與動態(tài)代理之間的關系以及概念

    Java代理模式與動態(tài)代理之間的關系以及概念

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

    MyBatis的MapKey注解實例解析

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

    JAVA 中解密RSA算法JS加密實例詳解

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

    SpringBoot登錄用戶權限攔截器

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

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

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

    關于spring的自定義緩存注解分析

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

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

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

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

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

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

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

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

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

最新評論