站長資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        java中的&和&&有什么區(qū)別

        java中的&和&&的區(qū)別:1、&&運算符在運算時當?shù)谝粋€表達式的值為false時,就不會再計算第二個表達式;而&運算符則不管第一個表達式的值是否為真都會執(zhí)行兩個表達式。2、&運算符可以用作位運算符,而&&運算符不可以。

        java中的&和&&有什么區(qū)別

        本教程操作環(huán)境:windows7系統(tǒng)、java8版、DELL G3電腦。

        在Java中&&和&都是表示"與"的邏輯運算符,也就是and的意思。它們都是當兩邊的表達式都為true的時候,整個運算結(jié)果才為true,否則為false。接下來在文章中將為大家具體介紹這兩者之間的區(qū)別。

        &和&&的區(qū)別

        &和&&都是邏輯運算符,但&&又叫短路運算符。因為當?shù)谝粋€表達式的值為false的時候,則不會再計算第二個表達式;

        而&則不管第一個表達式是否為真都會執(zhí)行兩個表達式。另外&還可以用作位運算符,當&兩邊的表達式不是Boolean類型的時候,&表示按位操作。

        && 操作

        int i = 0;         if(i == 3  && ++i > 0 )  {  } System.out.println("i = " + i);
        登錄后復(fù)制

        結(jié)果是:

        i = 0
        登錄后復(fù)制

        原因:第二個表達式?jīng)]有執(zhí)行

        & 操作

         int i = 0;          if(i == 3  & ++i > 0 )   {    }   System.out.println("i = " + i);
        登錄后復(fù)制

        結(jié)果是:

        i = 1
        登錄后復(fù)制

        第二個表達式執(zhí)行了

        擴展知識:邏輯運算符

        邏輯運算符把各個運算的關(guān)系表達式連接起來組成一個復(fù)雜的邏輯表達式,以判斷程序中的表達式是否成立,判斷的結(jié)果是 true 或 false。

        邏輯運算符是對布爾型變量進行運算,其結(jié)果也是布爾型,具體如表 1 所示。

        表 1 邏輯運算符的用法、含義及實例
        運算符 用法 含義 說明 實例 結(jié)果
        && a&&b 短路與 ab 全為 true 時,計算結(jié)果為 true,否則為 false。 2>1&&3<4 true
        || a||b 短路或 ab 全為 false 時,計算結(jié)果為 false,否則為 true。 2<1||3>4 false
        ! !a 邏輯非 a 為 true 時,值為 false,a 為 false 時,值為 true !(2>4) true
        | a|b 邏輯或 ab 全為 false 時,計算結(jié)果為 false,否則為 true 1>2|3>5 false
        & a&b 邏輯與 ab 全為 true 時,計算結(jié)果為 true,否則為 false 1<2&3<5 true
        • || 與 | 區(qū)別:如果 a 為 true,則不計算 b(因為不論 b 為何值,結(jié)果都為 true)

        注意:短路與(&&)和短路或(||)能夠采用最優(yōu)化的計算方式,從而提高效率。在實際編程時,應(yīng)該優(yōu)先考慮使用短路與和短路或。

        結(jié)果為 boolean 型的變量或表達式可以通過邏輯運算符結(jié)合成為邏輯表達式。邏輯運算符 &&、|| 和 !按表 2 進行邏輯運算。

        表 2 用邏輯運算符進行邏輯運算
        a b a&&b a||b !a
        true true true true false
        false true false true true
        true false false true false
        false false false false true

        邏輯運算符的優(yōu)先級為:!運算級別最高,&& 運算高于 || 運算。!運算符的優(yōu)先級高于算術(shù)運算符,而 && 和 || 運算則低于關(guān)系運算符。結(jié)合方向是:邏輯非(單目運算符)具有右結(jié)合性,邏輯與和邏輯或(雙目運算符)具有左結(jié)合性。

        下面是一些使用邏輯運算符的示例。

        x>0 && x<=100    // 第一行語句 y%4==0 || y%3==0    // 第二行語句 !(x>y)    // 第三行語句
        登錄后復(fù)制

        其中,第一行語句用于判斷 x 的值是否大于 0 且小于或等于 100,只有兩個條件同時成立結(jié)果才為真(true)。第二行語句用于判斷 y 的值是否能被 4 或者 3 整除,只要有一個條件成立,結(jié)果就為真(true)。第三行語句先比較 x 和 y,再將比較結(jié)果取反,即如果 x 大于 y 成立,則結(jié)果為假(false),否則為真(true)。

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
        主站蜘蛛池模板: 婷婷精品国产亚洲AV麻豆不片| 国产精品拍天天在线| 91国内揄拍国内精品情侣对白| 国产精品久久久久久久| 久久精品国产精品亚洲人人| 亚洲视频精品在线| 国产久爱免费精品视频| 中文字幕亚洲综合精品一区| 国产精品免费高清在线观看| 久久精品国产精品亚洲人人| 亚洲国产精品久久久久婷婷软件| 无码精品国产VA在线观看DVD| 免费精品精品国产欧美在线| 国产精品美女网站在线观看| 国产成人精品久久免费动漫| 国产精品特级毛片一区二区三区 | 久久精品国产亚洲5555| 亚洲精品人成在线观看| 99精品视频3| 国产精品久久久久jk制服| 日本伊人精品一区二区三区| 亚洲精品黄色视频在线观看免费资源 | 国产精品无码国模私拍视频| 欧美精品一区二区三区视频| 国产精品视频a播放| 996久久国产精品线观看| 8AV国产精品爽爽ⅴa在线观看| 国产中老年妇女精品| 黑人巨大精品欧美| 国产综合精品一区二区三区| 久久久久亚洲精品天堂| 欧美精品hdvideosex4k| 日韩精品一区二区亚洲AV观看| 亚洲精品乱码久久久久久久久久久久| 亚洲精品国产电影| 亚洲码国产精品高潮在线| 亚洲精品无码乱码成人| 四虎国产精品永久免费网址| 久久水蜜桃亚洲av无码精品麻豆| 久久永久免费人妻精品下载| 国内精品久久久久影院一蜜桃 |