騎豬闖天下

          J2ME隨筆,記錄成長的腳步

          統計

          留言簿(3)

          閱讀排行榜

          評論排行榜

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

                  這個曾經讓我分不清的兩個東東,今天專門拿出來做一小結,以備日后查閱。并附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.應用比較
                  短路&& 是很有用的。例如,下面的程序語句說明了短路邏輯運算符的優點,用它來防止被0除的錯誤: 
                  if (denom != 0 && num / denom > 10)  
                  既然用了短路與(&&) 運算符,就不會有當denom為0時產生的意外運行時錯誤。如果該行代碼使用標準與 運算符(&),它將對兩個運算數都求值,當出現被0除的情況時,就會產生運行時錯誤。

                   既然短路運算符在布爾邏輯運算中有效,那么就在布爾邏輯運算中全用它,而標準的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>     布爾邏輯運算符
                                布爾邏輯運算的運算數只能是布爾型,結果也為boolean型

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

           <騎豬闖天下>                                                                                                                                                  

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

          評論

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

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

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

          謝謝樓主  回復  更多評論   


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


          網站導航:
           
          主站蜘蛛池模板: 东乡族自治县| 临清市| 徐汇区| 德江县| 阿图什市| 乐清市| 东乌珠穆沁旗| 获嘉县| 渭南市| 潍坊市| 凤山县| 九江县| 南雄市| 西贡区| 文成县| 滨州市| 阳朔县| 富民县| 綦江县| 洛扎县| 留坝县| 武安市| 临西县| 金昌市| 宜昌市| 吉安市| 苍山县| 木兰县| 台中县| 拉萨市| 临清市| 靖边县| 牙克石市| 全南县| 丰宁| 杨浦区| 泗水县| 琼中| 双鸭山市| 六枝特区| 环江|