Theo câu hỏi của bạn,
nếu bạn sử dụng "|" toán tử như "if (x == 1 | x == 2)", cả hai biểu thức được đánh giá và nếu có ít nhất một giá trị TRUE thì hãy chạy phần thân của khối
nếu bạn sử dụng "||" toán tử như "if (x == 1 || x == 2)", biểu thức đầu tiên được đánh giá và nếu nó trả về TRUE thì sẽ không đánh giá biểu thức thứ hai và chạy phần thân của khối
nếu bạn sử dụng "&" nhà điều hành như "if (x == 1 & x == 2)", cả hai biểu thức được đánh giá và nếu cả hai biểu thức là trả lại giá trị TRUE sau đó chạy phần thân của nếu khối
nếu bạn sử dụng "& & "toán tử như" nếu (x == 1 & & x == 2) ", biểu thức đầu tiên được đánh giá và nếu nó trả về FALSE thì sẽ không đánh giá biểu thức thứ hai và KHÔNG chạy phần thân nếu khối
Ngoài ra, "||" và "& &" có thể được sử dụng để tiết kiệm thời gian hoạt động của ứng dụng của bạn
Nguồn
2014-09-26 04:18:12
Bạn có muốn biết điều này "đối với các loại boolean" không? Đối với các loại tích phân, logic hoặc toán tử rất hữu ích trong chính nó, nhưng sau đó hoạt động shortcircuit không phải là một thay thế vì nó không hoạt động trên các kiểu tích phân. –
Xem câu trả lời tại đây: http://stackoverflow.com/questions/9264897/reason-for-the-exsistance-of-non-short-circuit-logical-operators – Halogen