- JavaScript程序設計:基礎·PHP·XML
- (美)Elizabeth Drake
- 597字
- 2020-10-30 18:12:33
2.5.3 邏輯操作符的操作次序
正如對算術操作符的執行次序有控制規則,對邏輯操作符的執行次序也有控制規則。而對于每個關系操作符,則沒有先后次序之分。
如果表達式有一個以上的邏輯操作符,那么NOT操作符最先執行,然后是AND操作符,最后是OR操作符。在一個混合有算術、關系和邏輯操作符的表達式中,如果有圓括號,就最先執行圓括號里的操作。如果沒有圓括號,就首先執行算術操作,然后是關系操作,最后是依次執行NOT、AND和OR。表2-5總結了這個操作優先級。
表2-5 操作優先級
邏輯操作符允許程序的判斷式使用一個以上的單個條件,復雜表達式是一個組合兩個或更多可能條件的表達式。例如,一個商店可能送出一個促銷折扣碼,可用于購買額超過$50.00的客戶。因此,使用折扣要滿足兩個條件:一是客戶錄入的折扣碼要匹配商店送出的折扣碼,二是購買額超過$50.00。對應的表達式“折扣碼正確AND購買額超過$50.00”就是一種復雜表達式。其他商店可能為客戶提供免運費或者購買額10%折扣的優惠,對應的表達式“想要免運費OR想要10%折扣?”是另一種類型的復雜表達式。
例2.21展示在復雜表達式中如何使用操作優先級。
例2.21 在復雜表達式中使用操作優先級 假定Q=3和R=5,以下表達式是true還是false?
根據操作優先級,特別是邏輯操作符的操作次序(最先執行!,然后是&&,最后是||),可以為這個表達式插入一些圓括號以明確指出各個操作的執行次序:
對此先求簡單的條件,知道Q>3是false,R<3是false,而(Q-R)<0是true。然后,通過將這些值(true或false)替換到給定的表達式,再執行邏輯操作,我們就能夠求得答案。這個求值過程如下圖表所示。
給定:(!(Q>3))||((R<3)&&((Q-R)<0))
步1:(!(false))||((false)&&(true))
步2:true||false
步3:true
這個表達式求值為true。
- Visual Basic程序設計(第3版):學習指導與練習
- Python零基礎快樂學習之旅(K12實戰訓練)
- Interactive Applications Using Matplotlib
- Mastering JavaScript Design Patterns(Second Edition)
- AIRIOT物聯網平臺開發框架應用與實戰
- 從零開始學Linux編程
- HTML5+CSS3 Web前端開發技術(第2版)
- iOS自動化測試實戰:基于Appium、Python與Pytest
- AI自動化測試:技術原理、平臺搭建與工程實踐
- Developing RESTful Web Services with Jersey 2.0
- Git Version Control Cookbook
- WCF 4.5 Multi-Layer Services Development with Entity Framework(Third Edition)
- 寫給所有人的編程思維
- Kali Linux Wireless Penetration Testing Essentials
- Mastering Social Media Mining with R