2015-09-07 8 views
10

मैं सिर्फ सीखा है कि | एक ही ब्लॉक में कई अपवाद को पकड़ने के लिए प्रयोग किया जाता है है; | OR के लिए bitwise ऑपरेटर है। इस मामले में, क्या यह अभी भी थोड़ा सा ऑपरेटर के रूप में उपयोग किया जाता है या संदर्भ में जब इसका अलग अर्थ होता है?जावा में एकाधिक अपवादों को पकड़ते समय bitwise या ऑपरेटर (|) का उपयोग क्यों किया जाता है?

+0

आप ऐसा क्यों सोचते हैं यह है * बिटवाइज़ * OR ऑपरेटर, और नहीं * बूलियन * OR ऑपरेटर? यह न तो, यह सिर्फ एक वाक्य-निर्माण है, इस अपवाद * या * कि अपवाद * या * ... जिसका अर्थ है, और प्रतीक के इस तरह के एक बहुत ही तार्किक विकल्प के रूप में है, तो आप नहीं सोचते हैं? – Andreas

+0

लेकिन बूलियन या ऑपरेटर के रूप में उपयोग किया जाने वाला '||' नहीं है? – platelminto

+0

वह भी, हाँ। '|' और '||' दोनों बूलियन या ऑपरेटर हैं। अंतर क्या है यह जानने के लिए दस्तावेज़ों को पढ़ने के लिए मैं इसे छोड़ दूंगा। ध्यान दें कि यह वही ऑपरेटरों 'और 'और' && 'पर लागू होता है। – Andreas

उत्तर

18

इस मामले में, क्या यह अभी भी थोड़ा सा ऑपरेटर के रूप में उपयोग किया जाता है या संदर्भ में जब इसका अलग अर्थ होता है?

इसका एक अलग अर्थ है - हालांकि यह एक ही "स्वाद" है, हालांकि यह "अपवाद एक्स पकड़ा गया है, या अपवाद वाई पकड़ा गया है, या अपवाद जेड" पकड़ा गया है।

JLS section 14.20 में | केवल व्याकरण में शाब्दिक रूप से शामिल है - यह इस संदर्भ में OR ऑपरेटर नहीं है।

+0

धन्यवाद! क्या यह समान है कि '+' ऑपरेटर कैसे काम करता है; जब स्ट्रिंग्स में इसका उपयोग किया जाता है, तो यह समेकित होता है, जबकि संख्याओं के साथ यह उन्हें जोड़ता है - तकनीकी रूप से यह दोनों मामलों में जोड़ रहा है, है ना? – platelminto

+1

@platelminto: काफी नहीं - + ऑपरेटर अभी भी सामान्य वाक्यविन्यास में एक बाइनरी + ऑपरेटर है; यह केवल ऑपरेंड है जो इसे स्ट्रिंग कॉन्सटेनेशन बनाता है। –

संबंधित मुद्दे

 संबंधित मुद्दे