java中的&和&&有什么區(qū)別-天天快看

          來源:php中文網(wǎng) | 2023-01-06 15:10:23 |

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

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

          &和&&的區(qū)別


          (資料圖)

          &和&&都是邏輯運(yùn)算符,但&&又叫短路運(yùn)算符。因?yàn)楫?dāng)?shù)谝粋€(gè)表達(dá)式的值為false的時(shí)候,則不會(huì)再計(jì)算第二個(gè)表達(dá)式;

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

          && 操作

          int i = 0;        if(i == 3  && ++i > 0 ) { }System.out.println("i = " + i);

          結(jié)果是:

          i = 0

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

          & 操作

          int i = 0;         if(i == 3  & ++i > 0 )  {   }  System.out.println("i = " + i);

          結(jié)果是:

          i = 1

          第二個(gè)表達(dá)式執(zhí)行了

          擴(kuò)展知識(shí):邏輯運(yùn)算符

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

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

          表 1 邏輯運(yùn)算符的用法、含義及實(shí)例
          運(yùn)算符用法含義說明實(shí)例結(jié)果
          &&a&&b短路與ab 全為 true 時(shí),計(jì)算結(jié)果為 true,否則為 false。2>1&&3<4true
          ||a||b短路或ab 全為 false 時(shí),計(jì)算結(jié)果為 false,否則為 true。2<1||3>4false
          !!a邏輯非a 為 true 時(shí),值為 false,a 為 false 時(shí),值為 true!(2>4)true
          |a|b邏輯或ab 全為 false 時(shí),計(jì)算結(jié)果為 false,否則為 true1>2|3>5false
          &a&b邏輯與ab 全為 true 時(shí),計(jì)算結(jié)果為 true,否則為 false1<2&3<5true

          || 與 | 區(qū)別:如果 a 為 true,則不計(jì)算 b(因?yàn)椴徽?b 為何值,結(jié)果都為 true)

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

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

          表 2 用邏輯運(yùn)算符進(jìn)行邏輯運(yùn)算
          aba&&ba||b!a
          truetruetruetruefalse
          falsetruefalsetruetrue
          truefalsefalsetruefalse
          falsefalsefalsefalsetrue

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

          下面是一些使用邏輯運(yùn)算符的示例。

          x>0 && x<=100    // 第一行語句y%4==0 || y%3==0    // 第二行語句!(x>y)    // 第三行語句

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

          更多編程相關(guān)知識(shí),請?jiān)L問:編程教學(xué)!!

          以上就是java中的&和&&有什么區(qū)別的詳細(xì)內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!

          關(guān)鍵詞: java

          激情婷婷成人亚洲综合| 激情无码亚洲一区二区三区| 朝桐光亚洲专区在线中文字幕 | 久久精品国产精品亚洲艾| 亚洲一区二区三区乱码A| 亚洲人AV在线无码影院观看| 亚洲 欧洲 日韩 综合在线| 亚洲免费视频网址| 亚洲综合激情九月婷婷| 亚洲成人黄色在线| 亚洲AV无码乱码在线观看代蜜桃 | 亚洲AV无码乱码在线观看牲色| 亚洲国产精品成人AV在线| 亚洲av无码兔费综合| 国产精品亚洲专区在线播放| 亚洲JLZZJLZZ少妇| 精品久久久久久亚洲中文字幕 | 在线亚洲高清揄拍自拍一品区| 亚洲欧洲精品国产区| 91亚洲导航深夜福利| 亚洲天堂一区二区| 精品久久久久久亚洲| 久久久久亚洲AV成人无码网站| 亚洲国产成人久久综合一 | 亚洲AV无码一区二区三区国产| 亚洲国产精品13p| 在线观看亚洲精品国产| 国产亚洲人成无码网在线观看| 亚洲AV无码久久精品蜜桃| 亚洲综合婷婷久久| 亚洲一区二区三区久久久久| 亚洲影院天堂中文av色| 亚洲av无码专区青青草原| 亚洲成人国产精品| 亚洲人成色777777在线观看| 亚洲高清国产拍精品26U| 亚洲综合小说久久另类区| 亚洲人成电影网站色www| 亚洲高清无码专区视频| 国产亚洲AV无码AV男人的天堂| 91精品国产亚洲爽啪在线观看|