Java Academy · पाठ

स्कोप और जीवनकाल

समझिए कि variables कहाँ दिखाई देते हैं (स्कोप) और कितनी देर तक मौजूद रहते हैं (जीवनकाल): blocks, loops, methods, fields, shadowing और final parameters

पाठ 3, कुल 3 में से8 चरण

स्कोप और जीवनकाल, CoddyKit पर Java Academy का एक निःशुल्क पाठ है। यह 3 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Java Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Java Academy पाठ्यक्रम में कुल 3 पाठ शामिल हैं।

कार्यक्षेत्र बनाम जीवनकाल

कार्यक्षेत्र = वह स्थान जहाँ कोई नाम (चर) दिखाई देता है। जीवनकाल = चर कितने समय तक मौजूद रहता है। आप ब्लॉक कार्यक्षेत्र, लूप कार्यक्षेत्र, विधि के स्थानीय चर, वर्ग फ़ील्ड और शैडोइंग के नियम देखेंगे।

ब्लॉक कार्यक्षेत्र

ब्लॉक कार्यक्षेत्र: घुंघराले कोष्ठकों के अंदर घोषित चर केवल उन्हीं कोष्ठकों के भीतर दिखाई देता है।

public class Main {
  public static void main(String[] args) {
    int a = 10; // visible in main
    {
      int b = 20; // visible only inside this block
      System.out.println("inside block: a=" + a + ", b=" + b);
    }
    System.out.println("outside block: a=" + a);
    // System.out.println(b); // would NOT compile: b is out of scope
  }
}

लूप कार्यक्षेत्र

लूप कार्यक्षेत्र: for शीर्षलेख में घोषित लूप सूचकांक केवल लूप के मुख्य भाग के भीतर दिखाई देता है।

public class Main {
  public static void main(String[] args) {
    for (int i = 0; i < 3; i = i + 1) {
      System.out.println("i in loop = " + i);
    }
    // System.out.println(i); // would NOT compile: i is scoped to the loop

    int j;
    for (j = 0; j < 2; j = j + 1) {
      System.out.println("j in loop = " + j);
    }
    System.out.println("j after loop = " + j); // OK: j declared outside
  }
}

फ़ील्ड बनाम स्थानीय चर

जीवनकाल: वर्ग/स्थैतिक फ़ील्ड कई कॉल तक बने रहते हैं; स्थानीय चर हर कॉल पर फिर बनाए जाते हैं और विधि समाप्त होने पर हटा दिए जाते हैं।

public class Main {
  // static field (class-level): lives for the program lifetime
  static int counter = 0;

  static void tick() {
    int local = 100; // local: created each call, dies when method returns
    counter = counter + 1;
    System.out.println("tick: counter=" + counter + ", local=" + local);
  }

  public static void main(String[] args) {
    tick();
    tick();
    tick();
    System.out.println("final counter=" + counter);
  }
}

शैडोइंग

शैडोइंग: कोई आंतरिक घोषणा, जैसे पैरामीटर या स्थानीय चर, उसी पहचानकर्ता वाले बाहरी नाम को छिपा सकती है। छिपे हुए फ़ील्ड तक पहुँचने के लिए ClassName.field (या इंस्टेंस विधियों में this.field) का उपयोग करें।

public class Main {
  static String label = "FIELD"; // class field

  static void demo(String label) { // parameter shadows field name
    System.out.println("param label = " + label); // uses parameter
    {
      String labelInner = "INNER"; // new name in inner block
      System.out.println("inner block labelInner = " + labelInner);
      System.out.println("still param label = " + label);
    }
    System.out.println("field via class name = " + Main.label); // refer to field explicitly
  }

  public static void main(String[] args) {
    demo("PARAM");
  }
}

अंतिम और मान द्वारा पारित करना

अंतिम पैरामीटर को फिर से असाइन नहीं किया जा सकता। Java में मान द्वारा पारित किया जाता है: पैरामीटर को फिर से असाइन करने से कॉल करने वाले का चर नहीं बदलता।

public class Main {
  // final parameter cannot be reassigned inside the method
  static int inc(final int n) {
    // n = n + 1; // would NOT compile if uncommented
    return n + 1; // safe: return a new value
  }

  static void reassign(int x) {
    x = 999; // reassignes the local copy; caller variable is unchanged
  }

  public static void main(String[] args) {
    int a = 5;
    int b = inc(a);
    System.out.println("a=" + a + ", b=inc(a)=" + b);

    reassign(a);
    System.out.println("after reassign(a): a is still " + a);
  }
}

कार्यक्षेत्र और जीवनकाल जाँच

त्वरित जाँच: कार्यक्षेत्र और जीवनकाल के बारे में कौन-सा कथन TRUE है?

पुनरावलोकन और अगला चरण

पुनरावलोकन: आपने ब्लॉक और लूप कार्यक्षेत्र, फ़ील्ड बनाम स्थानीय चर, शैडोइंग और अंतिम पैरामीटर का अभ्यास किया। अगला चरण: A2.2 में डिज़ाइन और पुनः उपयोग के प्रतिरूपों पर आगे बढ़ना।

शुरुआत निःशुल्क

एआई शिक्षक के साथ Java सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
104
पाठ
374

अक्सर पूछे जाने वाले प्रश्न

क्या “स्कोप और जीवनकाल” पाठ निःशुल्क है?

हाँ—“स्कोप और जीवनकाल” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Java Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Java Academy पाठ्यक्रम में कुल 3 पाठ शामिल हैं।

“स्कोप और जीवनकाल” में मैं क्या सीखूँगा?

समझिए कि variables कहाँ दिखाई देते हैं (स्कोप) और कितनी देर तक मौजूद रहते हैं (जीवनकाल): blocks, loops, methods, fields, shadowing और final parameters आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Java Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Java Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Java Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 3 में से 3वाँ पाठ है।

“स्कोप और जीवनकाल” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Java Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Java Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. Methods और Parameters परिभाषित करना
  2. वापसी मान और ओवरलोडिंग
  3. स्कोप और जीवनकाल
← Java Academy पर वापस जाएँ