騎豬闖天下

          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 騎豬闖天下 閱讀(4115) 評論(2)  編輯  收藏

          評論

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

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

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

          謝謝樓主  回復  更多評論   


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


          網站導航:
           
          主站蜘蛛池模板: 潜江市| 罗城| 乌海市| 呼伦贝尔市| 道真| 东城区| 连江县| 大庆市| 南安市| 永济市| 南郑县| 兴安县| 如东县| 萨迦县| 济源市| 清原| 云南省| 枞阳县| 景东| 曲阜市| 民勤县| 肥东县| 聂拉木县| 容城县| 沂水县| 峨眉山市| 南京市| 外汇| 北宁市| 德安县| 饶平县| 西畴县| 略阳县| 宾川县| 蒲城县| 衡阳县| 梅河口市| 永靖县| 永仁县| 高安市| 乌拉特后旗|