मुख्य वैध जावा पहचानकर्ता है?


288

मेरा एक बच्चा हाई स्कूल में जावा ले रहा है और उसके एक परीक्षण में यह पाया गया है:

निम्नलिखित में से कौन जावा में एक वैध पहचानकर्ता है?

ए। 123java
ख। main
सी। java1234
घ। {abce
इ। )whoot

उसने बी जवाब दिया और गलत हो गया।

मैं सवाल को देखा और तर्क दिया कि main है एक वैध पहचानकर्ता और यह सही किया जाना चाहिए था कि।

हमने पहचानकर्ताओं के लिए जावा युक्ति पर एक नज़र डाली और इसने उस बिंदु को सुदृढ़ किया। हमने एक नमूना कार्यक्रम भी लिखा था जिसमें एक चर main, साथ ही एक विधि भी थी। उन्होंने एक लिखित खंडन बनाया जिसमें जावा प्रलेखन संदर्भ, परीक्षण कार्यक्रम और शिक्षक ने इसे अनदेखा किया और कहा कि उत्तर अभी भी गलत है।

है mainएक वैध पहचानकर्ता?


12
एक शिक्षक को इतना असुरक्षित देखकर मुझे हमेशा दुःख होता है कि वह कुछ नया सीखने और गलती स्वीकारने से डरता है।
रयान लुंडी

मुझे लगता है यह है। लेकिन आप वास्तव में इसे एक चर / विधि नाम (स्पष्ट मामले के बावजूद) के रूप में उपयोग नहीं कर रहे हैं, इसलिए यदि शिक्षक बिंदु घर ड्रिल करने की कोशिश कर रहा है, तो इसके बारे में विचारशील होने के लिए - विशेष रूप से इस मामले में - विधि के नाम तो मैं उसका / देख सकता हूं उसकी बात
बोरल

3
क्या यह प्रश्न वास्तव में पूछता है, अगर आपके बेटे का शिक्षक अपना काम सही ढंग से कर रहा है? मुझे दो वैध जावा पहचानकर्ता दिखाई देते हैं। तो जवाब है 'बी' और 'सी'। तो शिक्षक सही है। या क्या मैं कुछ न कुछ भूल रहा हूं?। यह एक SO प्रश्न कैसे हो सकता है? कुछ ऐसे व्यक्ति के बारे में, जो समुदाय का हिस्सा भी नहीं हैं ...
jschnasse

1
यह शिक्षकों के बारे में सवाल है, जावा के बारे में नहीं।
एसीवी

1
उन मामलों में से एक "आपके अपने चाल के सवाल से चकित" मामलों; शिक्षकों को वास्तव में इस तरह से एक परीक्षा प्रश्न लिखने का प्रयास करने से पहले भाषा की कल्पना पर कम से कम नज़र डालनी चाहिए।
जूनियर

जवाबों:


253
public class J {
    public static void main(String[] args)
    {
        String main = "The character sequence \"main\" is an identifier, not a keyword or reserved word.";
        System.out.println(main);
    }
}

यह संकलित करता है, और निष्पादित होने पर, इस आउटपुट को उत्सर्जित करता है:

The character sequence "main" is an identifier, not a keyword or reserved word.

वर्ण अनुक्रम mainएक पहचानकर्ता है, न कि कोई कीवर्ड या आरक्षित शब्द।

JLS की प्रासंगिक धारा 3.8 है :

एक पहचानकर्ता जावा अक्षरों और जावा अंकों का एक असीमित लंबाई अनुक्रम है , जिसमें से पहला एक जावा पत्र होना चाहिए ।

पहचानकर्ता:

    IdentifierChars लेकिन एक कीवर्ड या बूलीनलिटरल या NullLiteral नहीं

IdentifierChars:

    JavaLetter {JavaLetterOrDigit}

JavaLetter:

    कोई भी यूनिकोड वर्ण जो "जावा अक्षर" है

JavaLetterOrDigit:

    कोई भी यूनिकोड वर्ण जो "जावा अक्षर या अंक" है

वर्ण अनुक्रम mainउपर्युक्त विवरण को फिट करता है और धारा 3.9 में कीवर्ड सूची में नहीं है ।

(चरित्र अनुक्रम java1234भी एक पहचानकर्ता है, उन्हीं कारणों से।)


25
@ क्लॉकवर्क प्रश्न को ऐसे शब्दों में लिखा गया था कि केवल एक विकल्प सही हो सकता है। हालाँकि, दोनों विकल्पों b और c ने प्रश्न की स्थिति को संतुष्ट किया, निहित विकल्प के साथ असंगत। इसने ओपी के बच्चे को चुनने के लिए छोड़ दिया, जिसमें से सही उत्तर वही था जो शिक्षक ने सोचा था कि वह सही है।
20

@rgettman मैंने पढ़ा " निम्न में से कौन ... " एक बार से अधिक विकल्प की अनुमति के रूप में, जिसके लिए " बी और सी " एक वैध प्रतिक्रिया होगी।
त्रिपुंड हाउंड

6
@ ट्रीपाउंड "एक वैध पहचानकर्ता है" एकवचन है और ठीक 1 उत्तर की मांग करता है। इसकी तुलना "वैध पहचानकर्ता" से करें
411

2
आप कक्षा mainको भी बना सकते थे ;)
पीटर लॉरी

97

main एक मान्य जावा पहचानकर्ता है, और शिक्षक गलत है।

प्रासंगिक दस्तावेज जावा भाषा विनिर्देश में है, यहीं:

अध्याय 3. "लेक्सिकल स्ट्रक्चर", अनुभाग 3.8। "पहचानकर्ता":

https://docs.oracle.com/javase/specs/jls/se10/html/jls-3.html#jls-3.8

इसे कहते हैं:

एक पहचानकर्ता जावा अक्षरों और जावा अंकों का एक असीमित लंबाई अनुक्रम है, जिसमें से पहला एक जावा अक्षर होना चाहिए ... एक पहचानकर्ता के पास एक कीवर्ड (§3.9), बूलरी शाब्दिक के रूप में एक ही वर्तनी (यूनिकोड वर्ण अनुक्रम) नहीं हो सकता है §3.10.3), या अशक्त शाब्दिक (.73.10.7), या एक संकलन-समय त्रुटि उत्पन्न होती है।

जिसका अर्थ है कि आप यह साबित कर सकते हैं कि यह एक मान्य पहचानकर्ता है:

  • जावा कीवर्ड की सूची में इसे देखना (संकेत: आपको यह वहां नहीं मिलेगा!) या बस द्वारा
  • एक पहचानकर्ता के रूप में इसका उपयोग करना और यह देखना कि कोई संकलन-समय त्रुटि नहीं होती है।

1
क्या आप इसे और स्पष्ट रूप से उद्धृत कर सकते हैं?
जीरो 298

36
नहीं, क्योंकि यह एक संपूर्ण खंड है। यदि शिक्षक को लगता है कि यह खंड 'मुख्य' के लिए किसी प्रकार का अपवाद बनाता है, तो यह शिक्षक ही है, जो यह कहता है कि उसे कहां दिखाना चाहिए।
माइक नकीस

76

जैसा कि अन्य उत्तर बताते हैं

mainएक वैध जावा पहचानकर्ता है , साथ ही साथ java1234

मुझे लगता है कि भ्रम इस तथ्य से आता है कि main(String[])विधि अक्सर JVM 1 द्वारा प्रवेश बिंदु के रूप में उपयोग की जाती है । हालांकि, इसका मतलब यह नहीं है कि टोकन mainको पहचानकर्ता 2 के रूप में उपयोग नहीं किया जा सकता है ।

चश्मा ऐसा कहते हैं, और निम्नलिखित घोषणाएं भी मान्य हैं:

  • एक फ़ील्ड:

    private int main;
  • एक स्थानीय चर:

    String main = "";
  • एक विधी:

    private void main() { ... }
  • एक वर्ग (हालांकि लोअरकेस के साथ शुरू होने वाला एक वर्ग नाम हतोत्साहित किया जाता है):

    public class main { ... }
  • एक पैकेज:

    package main;

1: जैसा कि टिप्पणियों में कहा गया है, जेवीएम विनिर्देश स्वयं किसी विशेष विधि को प्रवेश बिंदु के रूप में जनादेश नहीं देता है, लेकिन व्यापक रूप से उपयोग किए जाने वाले javaउपकरण अक्सर प्रवेश बिंदु के रूप में इस तरह की विधि का उपयोग करते हैं।
2: मैं आम तौर पर के अलावा एक मुख्य विधि बनाने से बचना होगा main(String[])


22
"मुझे लगता है कि भ्रामक इस तथ्य से आता है कि मुख्य (स्ट्रिंग []) विधि का उपयोग जेवीएम के लिए प्रवेश बिंदु के रूप में किया जाता है।" mainJVM के लिए प्रवेश बिंदु नहीं है। यह प्रविष्टि बिंदु है जो javaउपकरण अनुप्रयोगों को चलाने के लिए उपयोग करता है। अन्य उपकरण (उदाहरण के लिए सर्वलेट कंटेनर) अन्य प्रवेश बिंदुओं का उपयोग करते हैं।
टीजे क्राउडर

27
जो और भी विडंबनापूर्ण है, क्योंकि यहां तक ​​कि "एंट्री-पॉइंट-संदर्भ" मुख्य ALREADY में एक वैध पहचानकर्ता है। तो यहां तक ​​कि जिस मामले को आप पकड़ सकते हैं, वह वास्तव में ओपी को सही साबित करता है
होबामॉक

@TJCrowder धन्यवाद, मैंने उत्तर में इसे शामिल किया है।
एमसी सम्राट

1
@ होबामोक आपको मूल जावा अवधारणाओं के बारे में उलझन में लगता है, जो शायद यह बताता है कि आप इसे एक स्कूल में क्यों पढ़ाते हैं और अभ्यास नहीं करते हैं , यह उत्तर है जो दिमाग में आता है
रथ

4
javaउपकरण एक की आवश्यकता नहीं है main(String[])विधि यदि मुख्य वर्ग फैली javafx.application.Application
वीजीआर

65

यह जावा 1.8 पर संकलित है ...

public class main {

    public String main = "main"; 

    public void main(String main) {
        System.out.println("This object is an instance of the class " + this.getClass().getCanonicalName());
        System.out.println("The value of the argument \"main\" for this call to the method \"main(String main)\" is " + main);
        System.out.println("The value of the field \"main\" is " + this.main);
    }

    public static void main(String[] args) {
        main main = new main();
        main.main(main.main + main.main);
    }
}

... और जब निष्पादित आउटपुट का उत्पादन करता है:

This object is an instance of the class main
The value of the argument "main" for this call to the method "main(String main)" is mainmain
The value of the field "main" is main

5
क्या static mainविभिन्न मापदंडों के साथ एक और विधि जोड़ना संभव है ?
jpmc26

6
@ jpmc26 इसे आज़माएं और हमें बताएं कि यह कैसे चला गया। :)
माइकल K

1
खैर यह एक मुख्य साधन है
MC सम्राट

4
@ मेकमास्टर हां, यह मेरे उत्तर के लिए मेरा मुख्य तर्क है। ;)
माइकल

3
आप जोड़ना भूल गए package main;!
सोलोमन उक्यो

45

मैंने उस पर अपना सब कुछ फेंक दिया, और यह काम करने लगता है। मैं कहूंगा कि मुख्य एक वैध पहचानकर्ता है।

package main;

public class main {

    static main main;
    String Main;

    main(String main) {
        Main = main;
    }

    main(main main) {
        System.out.println(main.Main);
    }

    main main(main main) {
        return new main(main);
    }

    public static void main(main...Main) {
        main:
        for (main main : Main) {
            main = (main instanceof Main) ? new main(main): main.main(main);
            break main;
        }
    }

    public static void main(String[] args) {
        main = new main("main");
        main.main(main, main);
        main = main.new Main(main) {
            main main(main main) {
                return ((Main)main).main();
            }
        };
        main.main(main);
        main.main(main,main);
    }

    abstract class Main extends main {
        Main(main main) {
            super("main");
        }

        main main() {
            main.Main = "Main";
            return main;
        }
    }
}

2
मुझें यह पसंद है। कोशिश करो 'grep -o main main.java | wc -l '
गैरी बक

3
यह कोड थोरा मुझे प्रोग्रामिंग भाषा "ook" की याद दिलाता है ^ ^ इस कोड में लगभग हर शब्द "मुख्य" है ...
फ्लोरियन बैच

public static void main(main...Main)( एक स्थान याद आ रहा है ) काम नहीं कर सकता, क्या यह?
गेरोल्डब्रोज़र ने मोनिका

3
मुझे ऐसा लगता है कि मैंने इसे मेनटेन किया है।
रॉस प्रेसर

1
@GeroldBroser जो क्लीनर है, लेकिन कड़ाई से आवश्यक नहीं है: टोकन के बीच व्हाट्सएप कई मामलों में वैकल्पिक हैं, वे केवल तब आवश्यक होते हैं जब दो बाद के टोकन का संयोजन अन्यथा भी मान्य होगा।
एमसी सम्राट

44

mainपहचानकर्ता के रूप में इसका उपयोग कैसे नहीं किया जा सकता है जबकि इसे "मुख्य" विधि घोषित करने के लिए पहचानकर्ता के रूप में उपयोग किया जाता है?

इस तरह के एक क्लासिक मुहावरे के लिए:

public class Foo{
   public static void main(String[] args){
   }
}

main एक कीवर्ड नहीं है और यह शायद जावा में स्पष्ट रेट्रो संगतता कारणों के लिए एक कीवर्ड नहीं होगा।


सवाल के बारे में, mainएक अच्छा पहचानकर्ता है?

पहली: एक संकलक के लिए मान्य जरूरी अच्छा नहीं है।
उदाहरण के लिए जो java1234विकल्प प्रस्तावित है वह भी एक वैध पहचानकर्ता है लेकिन वास्तव में इससे बचना चाहिए।

mainका विशेष रूप से और महत्वपूर्ण अर्थ है: इसका उपयोग javaकमांड लाइन द्वारा निष्पादित वर्गों और जार के प्रवेश बिंदु विधि के रूप में किया जाता है । कमांड लाइन द्वारा उपयोग किए जाने वाले मानदंडों को भरने वाले विधि नाम
का उपयोग करना केवल भ्रामक होगा, जबकि इसे चर नाम या वर्ग नाम के रूप में उपयोग किया जा सकता है। उदाहरण के लिए, आवेदन के वर्ग के रूप में एक आवेदन के प्रवेश बिंदु का प्रतिनिधित्व करने वाले वर्ग को परिभाषित करना स्वीकार्य है और इसलिए इसे चर नाम के रूप में भी उपयोग किया जा सकता है: mainjava
Main

public class Main {

  public static void main(String args[]){
     Main main = new Main();
     // ...
  }      

}

एक सामान्य तरीके से, जावा में, कई पात्रों या "शब्दों" को संकलक के लिए वैध पहचानकर्ता माना जाता है, लेकिन ग्राहक कोड में उपयोग किए जाने के लिए दृढ़ता से हतोत्साहित किया जाता है (लेकिन उत्पन्न कोड ऐसा कर सकते हैं: उदाहरण के लिए नेस्टेड कक्षाएं) पठनीय और / के रूप में नहीं। या वास्तव में भ्रामक।

उदाहरण के लिए यह संकलक के लिए मान्य हो सकता है:

public class Object { // 1
    public void foo() {
       ...
    }
}

public class BadChosenIdentifier {

    public static void main() { // 2
        new BadChosenIdentifier().toString(new Object());  
    }

    public void toString(Object java1234) { // 3, 4
        String _result$ = java1234 + " -> to avoid"; // 4
        System.out.println(_result$);
    }    
}

लेकिन हम नहीं चाहते:

  • Objectहमारी कक्षा को नाम देना क्योंकि यह java.lang(1) में परिभाषित है ।
  • कमांड लाइन (2) main()द्वारा उपयोग किए जाने वाले मापदंड को नहीं भरने पर एक विधि का नाम देना java
  • Object.toString()विधि को ओवरलोड करने के लिए (3)।
  • हमारे चरों का नामकरण _, $या किसी भी आश्चर्यजनक / बेमिसाल चरित्र के साथ करना , जो साझा नामकरण परंपराओं (4) के खिलाफ जाता है।

7
बस ध्यान दें, mainएक ऐसा कीवर्ड हो सकता है जो केवल एक स्थिर हस्ताक्षर के लिए एक उपयुक्त हस्ताक्षर (या जो भी हो) के नाम के रूप में उपयोग करने योग्य हो। ध्यान दें कि सुपर क्लास कॉल superइस तरह से उपयोग करता है जिससे यह एक पहचानकर्ता की तरह दिखता है: super(foo);और super.foo, लेकिन superएक कीवर्ड है (और इससे पहले कि जेनेरिक को जोड़ा गया था, यह इसका उपयोग करने का एकमात्र तरीका था (जिसे मैं याद कर सकता हूं)।
jaxad0127

@ jaxad0127 दिलचस्प बात है, लेकिन मैं पूरी तरह से सहमत नहीं हूँ। वास्तव में यह नहीं है और भविष्य में यह अभी भी अनुकूलता कारणों के लिए नहीं हो सकता है। यदि आप mainजावा के एक नए संस्करण में एक कीवर्ड के रूप में परिभाषित करते हैं, तो इसका मतलब है कि कोई भी कोड जो मुख्य नाम विधि (या किसी भी सदस्य नाम) का उपयोग करता है वह अब संकलित नहीं करेगा। superजेनरिक के उपयोग का मौजूदा कोड में कोई दुष्प्रभाव नहीं है क्योंकि इस समय जेनरिक का अस्तित्व नहीं था।
davidxxx

2
मेरा मतलब सिर्फ यह था कि यह एक कीवर्ड के रूप में किया गया है। सिर्फ इसलिए कि यह एक पहचानकर्ता की तरह दिखता है, इसका मतलब यह नहीं है कि यह होना चाहिए।
jaxad0127

2
मेरा तर्क है कि mainअभी भी एक बेहतर पहचानकर्ता है java1234। एक "नियमित" विधि के लिए इसका उपयोग करना भ्रामक होगा, लेकिन मुझे चर का नामकरण करने में कोई समस्या नहीं होगी main, अगर यह वास्तव में मेरी विधि में कुछ है। java1234बस भयानक है, नाम वर्णनात्मक होना चाहिए ...
AJPerez

1
"सवाल के बारे में, मुख्य एक अच्छा पहचानकर्ता है?" निर्भर करता है। mainअगर मैं जिस फंक्शन को देख रहा था उसका नाम जलमग्न डेटा के साथ कुछ करने पर शायद मैं एक वेरिएबल पर नज़र नहीं रखूंगा । अगर मुझे कभीjava1234 उत्पादन कोड में देखा (और उपसर्ग के साथ 1233 अन्य चर नहीं थे तो प्रार्थना करूँगा java)।
jpmc26

40

क्या यह एक वैध पहचानकर्ता है? हाँ।

क्या यह एक अच्छा पहचानकर्ता है? ऐसा नहीं है अगर आप JVM लॉन्च में शुरू होने वाले तरीके के अलावा किसी और चीज के लिए इसका इस्तेमाल कर रहे हैं।

क्या एक और वैध पहचानकर्ता सूचीबद्ध है? हाँ।

क्या परीक्षण निर्देशों ने सर्वश्रेष्ठ उत्तर चुनने के लिए कहा था?


7
सहमत - इस तरह के कई विकल्प कई होने पर 'सर्वोत्तम' सही उत्तर चुनने के बारे में हैं। हालाँकि, यह एक अच्छा बहुविकल्पी प्रश्न नहीं बनता है और मुझे लगता है कि शिक्षक से इस बारे में बात करना सही बात है।
छाया

19
@ शेडो यह एक प्रोग्रामिंग कोर्स है। औपचारिक गणितीय व्याकरण के साथ निर्दिष्ट कुछ के बारे में एक प्रश्न पर अस्पष्टता असहनीय है। उस मानक के खिलाफ सख्ती से बोलना (जो कि " मान्य " द्वारा निहित है ), दोनों उत्तर समान रूप से सही हैं। मैं कहीं अधिक ऐसे मामलों की कल्पना कर सकता हूं जिनमें mainएक सहनीय पहचानकर्ता है, जिसमें मैं कर सकता हूं java1234। उदाहरण के लिए, पानी की आपूर्ति के आंकड़ों (वाटर मैन्स) के साथ काम करने वाला एक कोड आधार।
jpmc26

5
दूसरी ओर, एक पहचानकर्ता के रूप में उच्च स्वर्ग में java1234 बदबू आ रही है।
जोशुआ

4
"सबसे अच्छा जवाब चुनें" का मतलब यह नहीं है कि जब शिक्षक यह नहीं जानते कि वे किस बारे में बात कर रहे हैं और उस बुरे उत्तर के बारे में सोचें जो वे सोच रहे हैं। " मुख्य न केवल एक मान्य पहचानकर्ता है, यह एक बहुत ही महत्वपूर्ण पहचानकर्ता है क्योंकि प्रत्येक जावा अनुप्रयोग में एक मुख्य विधि है, और तरीकों को पहचानकर्ताओं के साथ नाम दिया गया है।
फुलफिशिप

2
मुझे यह उत्तर बहुत ही गलत लगा और मुझे लगा कि मैं इसे एक बार से अधिक बार वोट कर सकता हूं। ऐसा लगता है कि आप हर कीमत पर एक पक्ष लेने की कोशिश कर रहे हैं और व्यापक तस्वीर पर विचार नहीं कर रहे हैं। mainसादे जावा अनुप्रयोग के संकीर्ण डोमेन के बाहर कहीं भी पूरी तरह से ठीक पहचानकर्ता है। यह एक सेट मेनू का प्रतिनिधित्व करने वाले वर्ग में एक फ़ील्ड का नाम हो सकता है। या किसी <main>HTML बिल्डर में दस्तावेज़ का एक भाग। java1234दूसरी ओर, के बारे में भयानक है के रूप में पहचानकर्ता मिलता है।
toniedzwiedz

29

mainयह पूरी तरह से मान्य है क्योंकि यह, डॉक्स से :

  1. "जावा अक्षरों और जावा अंकों का अनुक्रम है, जिनमें से पहला जावा पत्र है"
  2. कोई कीवर्ड नहीं है
  3. एक बूलियन शाब्दिक नहीं है "सच" या "गलत"
  4. अशक्त शाब्दिक नहीं है

29
public class Main {
    private static String main;
    public static void main(String[] main) {
        Main.main = main[0];
        new Main().main(Main.main);
    }
    private void main(String main) {
        System.out.println(main);
    }
}

7

उस शिक्षक ने मुख्य गलती मानने में एक छोटी सी गलती की, एक वैध पहचानकर्ता नहीं है या केवल प्रश्न को गलत तरीके से समझा रहा है। वह संभवतः "एक अच्छा पहचानकर्ता" कहने के लिए था।
लेकिन अपने बेटों के तर्कों को नज़रअंदाज़ करना और इस तरह प्रासंगिक साहित्य (जावा विनिर्देशन) की जाँच के अपने वैज्ञानिक दृष्टिकोण को हतोत्साहित करना और एक प्रयोग करना (एक नमूना कार्यक्रम लिखना) एक शिक्षक जो करने वाला है, उसके बिल्कुल विपरीत है।


1
जैसा कि अन्य उत्तरों पर ध्यान दिया mainजाता है, अक्सर "अच्छा" पहचानकर्ता java1234होता है। तो वहां भी, शिक्षक गलत है। ;)
jpmc26

5

दोनों mainऔर java123कर रहे हैं वैध पहचानकर्ता, मुख्य एक आरक्षित कीवर्ड तो यह पूरी तरह से उपयोग करने के लिए स्वीकार्य के रूप में परीक्षण चला जाता है आप कम से कम एक बिंदु या आधे से एक बिंदु मिल गया है चाहिए, जहाँ तक नहीं है।


5
  1. एकल शब्द होना चाहिए। कि रिक्त स्थान की अनुमति नहीं है।

    उदाहरण: मैंगोप्राइस वैध है लेकिन आम का मूल्य मान्य नहीं है।

  2. एक अक्षर (वर्णमाला) या अंडरस्कोर या $ प्रतीक के साथ शुरू होना चाहिए।

    उदाहरण: मूल्य, _price और $ मूल्य मान्य पहचानकर्ता हैं।

  3. जावा का एक कीवर्ड नहीं होना चाहिए क्योंकि कीवर्ड कंपाइलर के लिए विशेष अर्थ रखता है।

    उदाहरण: वर्ग या शून्य आदि।

  4. एक अंक से शुरू नहीं होना चाहिए लेकिन अंक मध्य या अंत में हो सकता है।

    उदाहरण: 5mangoescost वैध नहीं है और mango5cost और mangocost5 वैध हैं।

  5. जावा में एक पहचानकर्ता की लंबाई 65,535 अक्षर हो सकती है और सभी महत्वपूर्ण हैं। पहचानकर्ता केस-संवेदी होते हैं। आम और आम दोनों को अलग तरह से व्यवहार किया जाता है। सभी बड़े अक्षर या निचले अक्षर या मिश्रण हो सकते हैं।

IDENTIFIER : वे वर्ग नाम, विधि नाम, चर नाम हैं ...

जैसा कि मुख्य एक आरक्षित शब्द नहीं है और पहचानकर्ता को परिभाषित करने के लिए ऊपर दिए गए स्पष्टीकरण के अनुसार एक वैध पहचानकर्ता और java1234 भी है। उपरोक्त विवरण के कारण विकल्प का चयन करना मान्य नहीं है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.