2010-05-18 13 views
7

जावा पहचानकर्ता को $ (डॉलर चिह्न) के साथ शुरू करने या रखने की अनुमति देता है। उदाहरण के लिए एक $ बी;पहचानकर्ता में # अनुमति क्यों नहीं है?

लेकिन पहचानकर्ता में # क्यों अनुमति नहीं है? विशिष्ट कारण क्या है? # जावा में ऑपरेटर या कुछ है? उदाहरण int # b;

उत्तर

8

मैं कहूंगा कि यह पठनीयता और भाषा के ऐतिहासिक पूर्ववर्ती संयोजनों का संयोजन है। याद रखें कि जावा सिंटैक्स को सी और सी ++ प्रोग्रामर के लिए आसान होने के लिए डिज़ाइन किया गया था। , (और जैसा @ dan04 बताते हैं, # चरित्र सी और सी का सबसे बोलियों में महत्वपूर्ण ++ है।)

संयोग से, जबकि $ जावा पहचानकर्ता में तकनीकी कानूनी है, यह compilers, कोड जनरेटर और अन्य बातों के द्वारा उपयोग के लिए आरक्षित है । यदि आप अपने स्रोत कोड में पहचानकर्ताओं में $ का उपयोग करते हैं, तो आपको javac कंपाइलर द्वारा उत्पादित सिंथेटिक पहचानकर्ताओं के साथ टकराव के साथ परेशानी हो रही है।

1

Variables अक्षर, अंक, अंडरस्कोर और डॉलर चिह्न शामिल कर सकते हैं - # को छोड़कर, @, ~, `

मुझे लगता है कि यह पठनीयता के कारण है - int s#@t; अजीब लगता है।

3

मुझे शक है # अनुमति न देने के रूप में ज्यादा के रूप में वहाँ पहचानकर्ता में विराम चिह्न के लिए एक सामान्य घृणा (जो दिखाई दे सकता है ऑपरेटरों की तरह) था के लिए एक विशेष कारण नहीं था। WORD_SEPARATION और आंतरिक $ कक्षाओं से निपटने के लिए विशेष अपवाद किए गए थे।

सी और सी ++ में, जिस पर जावा का वाक्यविन्यास आधारित है, #preprocessor निर्देशों के लिए उपयोग किया जाता है।

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