下方是有關這四個邏輯運算子的說明:
<重點>
- &與&&的運算
int a=1,b=2;
❓ ( a > b ) & ( b >1)
&運算子會優先運算前者 ( a > b ) 是 True 還是 False ,算完不管回傳值是True或是False,都會繼續判斷右邊的( b > 1 ) 是True 還是 False
❓ ( a > b ) && ( b >1)
&&運算子會優先運算前者 ( a > b ) 是 True 還是 False ,算完如果a>b的回傳值為False,就不會繼續判斷右邊的( b > 1 ) 是True 還是 False
- |與||的運算
int a=1,b=2;
❓ ( a > b ) |( b >1)
| 運算子會優先判斷前者 ( a > b ) 是 True 還是 False ,判斷完不管回傳值是True或是False,都會繼續判斷右邊的( b > 1 ) 是True 還是 False
❓ ( a > b ) || ( b >1)
&&運算子會優先判斷前者 ( a > b ) 是 True 還是 False ,判斷完如果a>b的回傳值為True,就不會繼續判斷右邊的( b > 1 ) 是True 還是 False
為什麼『&&』,『||』回傳False或是True就不會繼續判斷右邊的式子?
( a > b ) && ( b >1)
- &&(且)
如果在判斷完前面的式子發現是False
右邊就不會執行的原因為『且』的定義就是因為連接的條件式要同時為 True才會是 True
因此發現了前面的式子是False,右邊的就不需要算下去來浪費時間了
所以用這個的優點就是節省不必要的計算
( a > b ) || ( b >1)
- ||(或)
如果在判斷完前面的式子發現是True
右邊就不會執行的原因為『或』的定義為只要有一個結果為 True,回傳值即為 True
因此發現了前面的式子是True,就可得知結果為True右邊的就不需要判斷
<總結>
🔥 如果以不浪費時間做判斷的話,建議使用『||』、『&&』這兩個邏輯運算子來coding
written by Boom / 2021.10.18
謝謝你的閱讀:)
如果你喜歡我的分享
歡迎底下留言或來信至boomengineerli@gmail.com 與我分享
期待與更多優秀的夥伴交流😄------------------------------------------------
如果願意給我一些小小鼓勵,請給我1-10個拍手
如果覺得文章對你有點幫助,請給我11-20個拍手
如果想看更多程式的相關文章,請長按拍手按鈕(50個拍爆)讓我知道唷👏最後,如希望持續追蹤我的最新文章,請不要忘記追蹤 Boom ⭐️ 程式自學之旅 謝謝~🙌