2014-10-15 10 views
6

जावा में, एक तार्किक या ऑपरेटर (||) और एक तार्किक और ऑपरेटर (&&) है। क्या logical XOR ऑपरेटर है? मैंने ^^ की कोशिश की लेकिन यह काम नहीं करता है।जावा में तार्किक xor ऑपरेटर क्या है?

+0

लॉजिकल एक्सोर क्या करेगा? वहाँ थोड़ा सा xor है जो^है। –

+6

एक तार्किक xor (एक logical_xor बी) बहुत अधिक है 'ए! = बी' – nos

उत्तर

18

लॉजिकल एक्सओआर ऑपरेटर जावा में मौजूद है और ^ लिखा गया है।

शब्दावली सही पाने के लिए, जावा में:

  • &, | और ^बिटवाइज़ या तार्किक ऑपरेटर कहा जाता है, उनके तर्कों के प्रकार पर निर्भर करता है;
  • && और || को सशर्त ऑपरेटर कहा जाता है।

विवरण के लिए, JLS § 15.22. Bitwise and Logical Operators आगे देखें।

&& और ||XOR के लिए कोई प्रत्यक्ष समकक्ष नहीं है। && और || का एकमात्र कारण & और | से अलग ऑपरेटरों के रूप में मौजूद है short-circuiting behaviour (यही कारण है कि उन्हें "सशर्त" कहा जाता है), और एक्सओआर को संक्षिप्त सर्किट नहीं किया जा सकता है।

+0

दिलचस्प। [ऑपरेटर] पर _The Java ™ ट्यूटोरियल_ पर तालिका (https://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html) "लॉजिकल ऑपरेटर" को "बिटवाई ऑपरेटरों" से अलग के रूप में संदर्भित करती है, फिर भी [ समानता, रिलेशनल और सशर्त ऑपरेटर] (https://docs.oracle.com/javase/tutorial/java/nutsandbolts/op2.html) जैसा कि आप कहते हैं "सशर्त ऑपरेटर" को संदर्भित करता है। –

+0

आह, मुझे लगता है कि मैं संघर्ष को समझता हूं। असल में मुझे लगता है कि "तार्किक ऑपरेटर" का अर्थ है कि बूलियन मूल्यों की तुलना की जा रही है। इस प्रकार हालत ऑपरेटर तार्किक ऑपरेटरों हैं, और बिटवाई ऑपरेटरों को लॉजिकल ऑपरेटरों के रूप में भी इस्तेमाल किया जा सकता है। यही कारण है कि जेएलएस '&', '|', और '^' का जिक्र करते समय "बिटवाई और लॉजिकल ऑपरेटर" कहता है। इसलिए मुझे नहीं लगता कि यह लॉजिकल ऑपरेटरों के रूप में '&&' और '||' (सशर्त ऑपरेटर) को संदर्भित करना गलत होगा। –

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