जावा दो दिलचस्प बूलियन ऑपरेटर प्रदान करता है जो अधिकांश अन्य कंप्यूटर भाषाओं में नहीं मिलता है। AND और OR के इन द्वितीयक संस्करणों को शॉर्ट-सर्किट लॉजिकल ऑपरेटर्स के रूप में जाना जाता है । जैसा कि आप पूर्ववर्ती तालिका से देख सकते हैं, OR ऑपरेटर सत्य होने पर A सत्य है, कोई फर्क नहीं पड़ता कि B क्या है।
इसी तरह, A के गलत होने पर AND ऑपरेटर गलत होता है, कोई फर्क नहीं पड़ता कि B क्या है। आप का उपयोग करते हैं ||
और &&
रूपों के बजाय |
और &
इन ऑपरेटरों के रूपों, जावा दायां संकार्य अकेले मूल्यांकन करने के लिए परेशान नहीं करेगा। यह तब बहुत उपयोगी होता है जब दाहिने हाथ का संचालन सही ढंग से काम करने के लिए बाईं ओर सही या गलत होने पर निर्भर करता है।
उदाहरण के लिए, निम्न कोड टुकड़ा दिखाता है कि आप शॉर्ट-सर्किट तार्किक मूल्यांकन का लाभ कैसे उठा सकते हैं यह सुनिश्चित करने के लिए कि इसका मूल्यांकन करने से पहले एक डिवीजन ऑपरेशन मान्य होगा:
if ( denom != 0 && num / denom >10)
चूंकि AND ( &&
) के शॉर्ट-सर्किट फॉर्म का उपयोग किया जाता है, इसलिए रन-टाइम अपवाद को शून्य से विभाजित करने का कोई जोखिम नहीं है। यदि कोड की इस पंक्ति को &
AND के एकल संस्करण का उपयोग करके लिखा गया था , तो दोनों पक्षों का मूल्यांकन करना होगा, जिससे denom
शून्य होने पर एक रन-टाइम अपवाद हो सकता है।
बूलियन तर्क से जुड़े मामलों में AND और OR के शॉर्ट-सर्किट रूपों का उपयोग करना मानक अभ्यास है, जो एकल-वर्ण संस्करणों को विशेष रूप से बिटवाइज़ ऑपरेशंस के लिए छोड़ देता है। हालाँकि, इस नियम के अपवाद हैं। उदाहरण के लिए, निम्नलिखित कथन पर विचार करें:
if ( c==1 & e++ < 100 ) d = 100;
इधर, एक एकल का उपयोग कर &
यह सुनिश्चित है कि वेतन वृद्धि आपरेशन को लागू किया जाएगा e
कि क्या c
है 1 या नहीं के बराबर।