騎豬闖天下

          J2ME隨筆,記錄成長的腳步

          統(tǒng)計

          留言簿(3)

          閱讀排行榜

          評論排行榜

          [原創(chuàng)]邏輯與(&)和邏輯或(|) VS 短路與(&&)和短路或(||)

                  這個曾經(jīng)讓我分不清的兩個東東,今天專門拿出來做一小結,以備日后查閱。并附Java四大運算符和比較運算符簡介。

          1.  邏輯與(&)和邏輯或(|):
                  標準的邏輯與(&)和邏輯或(|),不論第一個表達式為true or false,都計算第二個表達式。
                  例如:if (c==0 | e++ < 100)  { d=12;}     //不論c是否等于0,e都被自增量。

          2.  短路與(&&)和短路或(||)
                  A&&B, 當A為false時,不去計算B的值而直接返回false;當A為true時,計算B的值。
                  A || B,當A為true時, 不去計算B的值而直接返回true;當A為false時,計算B的值。

          3.應用比較
                  短路&& 是很有用的。例如,下面的程序語句說明了短路邏輯運算符的優(yōu)點,用它來防止被0除的錯誤: 
                  if (denom != 0 && num / denom > 10)  
                  既然用了短路與(&&) 運算符,就不會有當denom為0時產(chǎn)生的意外運行時錯誤。如果該行代碼使用標準與 運算符(&),它將對兩個運算數(shù)都求值,當出現(xiàn)被0除的情況時,就會產(chǎn)生運行時錯誤。

                   既然短路運算符在布爾邏輯運算中有效,那么就在布爾邏輯運算中全用它,而標準的AND 和OR運算符(只有一個字符)僅在位運算中使用。


           4. Java四大運算符:算術運算符、位運算、關系運算、邏輯運算

              另外還有比較運算符(instanceof)

                      A>     算術與位運算就不說了,一般不容易出錯

                      B>     關系運算符:   ==    >     <     <=    >=    !=

                                  關系運算的結果為boolean,只有true和false,不像C/C++中,非0為true,0為false。
                                  boolean flag= a<c;  //這種寫法是正確的.
                                  例如: if(a == b) {}     //如果是正確的,進行運算;

                                  賦值運算符 = 是賦值的,  如: int a = 5;        //不是 int a == 5;

                      C>     布爾邏輯運算符
                                布爾邏輯運算的運算數(shù)只能是布爾型,結果也為boolean型

                                 邏輯與(&)和邏輯或(|)  及   短路與(&&)和短路或(||) 的區(qū)別見上。

           <騎豬闖天下>                                                                                                                                                  

          posted on 2008-08-28 17:48 騎豬闖天下 閱讀(4115) 評論(2)  編輯  收藏

          評論

          # re: 邏輯與(&)和邏輯或(|) VS 短路與(&&)和短路或(||) 2008-08-29 21:45 謝冬冬

          很好理解,不錯!  回復  更多評論   

          # re: [原創(chuàng)]邏輯與(&)和邏輯或(|) VS 短路與(&&)和短路或(||) 2008-11-26 23:47 dran-ger

          謝謝樓主  回復  更多評論   


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 安国市| 香港| 恭城| 孟连| 钦州市| 咸丰县| 丹东市| 青铜峡市| 勃利县| 盐源县| 临洮县| 太和县| 墨竹工卡县| 碌曲县| 谢通门县| 寻甸| 磴口县| 布尔津县| 镇安县| 大方县| 淮阳县| 冀州市| 红原县| 娄烦县| 吉首市| 股票| 兰州市| 阳原县| 文水县| 英吉沙县| 永平县| 敦化市| 黄石市| 拉孜县| 京山县| 中江县| 鄄城县| 广汉市| 绩溪县| 个旧市| 本溪|