短路求值

短路求值 （ Short - circuit evaluation; minimal evaluation; McCarthy evaluation; 又稱最小化求值 ） ， 是一種邏輯運算符的求值策略 。 只有當第一個運算數的值無法確定邏輯運算的結果時 ， 纔對第二個運算數進行求值 。 例如 ， 當AND的第一個運算數的值爲false時 ， 其結果必定爲false ； 當OR的第一個運算數爲true時 ， 最後結果必定爲true ， 在這種情況下 ， 就不需要知道第二個運算數的具體值 。 在一些語言中 （ 如Lisp ） ， 默認的邏輯運算符就是短路運算符 ， 而在另一些語言中 （ 如Java ， Ada ） ， 短路和非短路的運算符都存在 。 對於一些邏輯運算 ， 如XOR ， 短路求值是不可能的 。 短路表達式x AND y ， 事實上等價於條件語句 ： if x then y else false 。 短路表達式x OR y ， 則等價於條件語句 ： if x then true else y 。