आज हम बात करेंगे जावा क्या होती है प्रोग्रामिंग लैंग्वेज कैसे काम करती है ठीक है तो बहुत ही बेसिक चीजें पढ़ने वाले हैं जिनके बिना आप लोग आगे नहीं पढ़ पाओगे देखो आप लोगों को डीएसए करना है मुझे पता है डेटा स्ट्रक्चर एल्गोरिथम करना है लेकिन वो सब काम करेंगे आपके कंप्यूटर के ऊपर और कंप्यूटर को अगर आपको अपनी बातें समझा नहीं है तो उसके लिए प्रोग्रामिंग लैंग्वेज भी पता होनी चाहिए ठीक है तो एक प्रोग्रामिंग लैंग्वेज हमें करनी है और इस प्रोग्राम के अंदर हम करने वाले हैं जावा का यूज़ जावा एक बहुत ही कमाल की लैंग्वेज है प्लेटफॉर्म इंडिपेंडेंट है फास्ट है और बहुत सारे इसके एप्लीकेशन भी हैं ठीक है तो अगर आप लोगों को इससे पहले एक प्रोग्रामिंग लैंग्वेज नहीं आती थी तो यहां पर हम बहुत ही बेसिक से एकदम स्क्रैच से चलने वाले हैं टेंशन मत लो आपको धीरे-धीरे करके समझ में आने लग जाएगी आज हम बहुत ही बेसिक कांसेप्ट पढ़ने वाले हैं लेकिन धीरे-धीरे करके हम जैसे-जैसे मूव करेंगे तो हम एडवांस कांसेप्ट भी पढ़ रहे होंगे ठीक है तो आज क्या क्या पढ़ने वाले हैं तो आज हम पढ़ेंगे प्रोग्रामिंग लैंग्वेज बेसिकली होता क्या है कैसे काम करती है वर्किंग ऑफ अ जावा प्रोग्राम एंड देन बेसिक जावा प्रोग्राम आज हम बना रहे होंगे सीख रहे होंगे कैसे काम करता है ये उसके बाद कीवर्ड्स देख रहे होंगे वेरिएबल देख रहे होंगे डेटा टाइप्स देख रहे होंगे डेटा टाइप कन्वर्जन देख रहे होंगे एंड देन जावा कमेंट्स तो बहुत ही बेसिक कांसेप्ट है ये अगर आपको पहले से आते थे तो भी देख लो क्या पता कुछ नही चीजें सीख के ख लो ठीक है तो स्टार्ट करते हैं सबसे पहले व्हाट इज द प्रोग्रामिंग लैंग्वेज और इसकी जरूरत क्यों है क्या काम करती है प्रोग्रामिंग लैंग्वेज तो यार देखो जब से ह्यूमंस ने कंप्यूटर्स के ऊपर काम करना स्टार्ट किया है ना तब से हम चाहते हैं कि कंप्यूटर्स हमारे इंस्ट्रक्शन को समझे जब आप कैलकुलेटर के ऊपर बटन दबाते हो टूथ तो कंप्यूटर आपकी बातों को समझ रहा होता है ठीक है और आप भी समझ रहे होते क्योंकि वो बटंस आपको दिख रहे होते कि मैं क्या दबा रहा हूं सिमिलरली कुछ एडवांस कुछ कुछ ऐसे खतरनाक इंस्ट्रक्शन आपको देने कंप्यूटर को जो कि सिंपल 1 टूथ करने से काम नहीं करेंगे जिनके अंदर कुछ ना कुछ लॉजिक होगा जिनके अंदर कुछ लूप्स होंगे तो उसके लिए प्रोग्रामिंग लैंग्वेज की जरूरत पड़ती है और वहां पर हम चाहते हैं कि हमारा जो समझने का तरीका है हम उस तरीके से बनाए प्रोग्रामिंग लैंग्वेज को सो दैट मशीन भी उसको समझ पाए तो कुछ सेट ऑफ रूल्स होने चाहिए कुछ सेट ऑफ रूल्स जिन्हें हम कहते हैं सिंटेक्स तो सिंटेक्स की हम बात कर रहे होंगे ठीक है सिंटेक्स मतलब बेसिकली वो रूल जो प्रोग्रामिंग लैंग्वेज के अंदर जरूरी होते हैं जिन रूल को आपको फॉलो करना होता है जैसे कोई भी लैंग्वेज हो गई इंग्लिश हो गई हिंदी हो गई उसके अंदर एक कुछ सेट ऑफ रूल्स होते हैं जिनसे वो लैंग्वेज बनती है सेंटेंसेस एंड वर्ड्स बनते हैं जिनको आपको फॉलो करना होता है तभी दूसरा बंदा आपकी लैंग्वेज को समझ पाएगा सिमिलरली जावा के अंदर भी कुछ सिंटेक्स होता है जिसको फॉलो करना होता है तभी मशीन जो है वोह आपकी बातों को समझ पाएगी तो यह आपको ठीक है आपने यहां पे कुछ इंस्ट्रक्शंस लिखे और आप चाहते हो कि मेरे इन इंस्ट्रक्शंस को कोई समझे ठीक है तो समझेगा किसके थ्रू यहां पर इं जावा के अंदर जो भी चीजें प्रोवाइडेड है उनके थ्रू समझ रहा होगा ये तो ये हम यहां पर तो लिखेंगे अपनी लैंग्वेज में कोड ठीक है यहां पर जो हम लिखेंगे वो होगा जावा प्रोग्रामिंग लैंग्वेज के अंदर कोड अब यह कोड यहां पर कन्वर्ट हो जाता है बाइनरी वगैरह के अंदर ठीक है 010 इस तरीके से क्योंकि कंप्यूटर को तो 01 01 समझ में आता है तो ये इंस्ट्रक्शन आपने लिखी जावा के अंदर लेकिन ये कन्वर्ट हो जाएंगी 0101 के अंदर जो कि मशीन कोड होता है जो कि कोई भी मशीन समझती है तो यह कन्वर्ज कैसे होता है मेरे इंस्ट्रक्शन कंप्यूटर कैसे समझ पाता है वो समझते हैं आप जावा के अंदर ठीक है तो हाउ जावा वर्क्स वर्किंग ऑफ अ जावा प्रोग्राम ये समझते हैं इसके बाद अब तो यहां पर मैंने ने कुछ कुछ लिखा हुआ है जेवीएम वगैरह इसको बाद में देखेंगे पहले हम जरा बात करते हैं कि जब भी आप कुछ भी कोड लिखते हो तो आप एक फाइल बनाते हो उसकी ठीक है सपोज करो ये आपने कुछ कोड लिखा और ये जो कोड है ये सिंटेक्स का फॉलो कर रहा होगा जो जावा सिंटेक्स है उसको फॉलो करते हुए लिख रहा होगा अब ये जो कोड है आपने इसकी फाइल बने फाइल को सेव करना हो कहीं ना कहीं ठीक है तो जैसे आप कोई भी गाने की फाइल को सेव करते हो ड mp3 या mp4 बनाते हो आप वीडियो के लिए सिमिलरली ड पीडीएफ बनाते हो वैसे ही जावा के अंदर जो प्रोग्राम होते हैं वो डॉट जावा के अंदर बनते हैं ठीक है तो इस फाइल का कुछ नाम देते हैं सपोज करो मैंने इस फाइल का नाम दे दिया हेलो अब डॉट लगा के जावा ठीक है हेलो डॉट जावा अब यह जो मैंने लिखा है यह फाइल ये फाइल सीधा काम नहीं करेगी सीधा ऐसे ही कंप्यूटर समझने लग जाएगा इसको ठीक है मुझे इसे कन्वर्ट करना पड़ेगा मशीन कोड के अंदर लेकिन मशीन कोड में कन्वर्ट होने से पहले कुछ सेट ऑफ स्टेप्स होते हैं सबसे पहले यह वाला कोड जाएगा कंपाइलर के थ्रू अब यह कंपाइलर क्या होता है कंपाइलर बेसिकली चेक करेगा इसके अंदर जो सिंटेक्स है वो ठीक से लिखा है कि नहीं लिखा वरना कंपाइलेशन एरर दे देगा आपको ठीक है तो यहां पर सारी सारी चीजें चेक होती है और ये जो आपका कोड है ये ह्यूमन रीडेबल फॉर्म से कन्वर्ट होके चेंज हो जाता है ये बाइट कोड के अंदर ठीक है और इसका एक्सटेंशन भी चेंज हो जाता है इसका एक्सटेंशन हो जाता है हेलो डॉट क्लास ठीक है एंड दिस इज योर बाइट कोड अब ये जो बाइट कोड है अभी भी यहां पर प्रोसेस खत्म नहीं हुई है क्योंकि हम कहते हैं कि जो जावा है ये प्लेटफॉर्म इंडिपेंडेंट लैंग्वेज है प्लेटफॉर्म इंडिपेंडेंट का मतलब कि एक बार आपने इसका कोड लिखा उसके बाद आप इसे अलग-अलग प्लेटफॉर्म पर रन कर सकते हो तो वो बनाने के लिए बीच में एक और चीज की जरूरत होती है जिसे हम कहते हैं जेवीएम तो अब हम अपने इस कोड को भेजेंगे जेवीएम के थ्रू जेवीएम क्या होता है जावा वर्चुअल मशीन ये एक अलग मशीन होती है कंपाइलर इज आल्सो प्रोग्राम बट जेवीएम इज अ मशीन और जेबीए मशीन के थ्रू आपका कोड जब जाता है तो व एक मशीन कोड के अंदर कन्वर्ट हो जाता है ठीक है तो नाउ दिस इज कॉल्ड मशीन कोड मेरी राइटिंग आई थिंक ठीक ठाक है समझ में आ रहा होगा आप लोगों को ठीक है मैं धीरे धीरे करके प्रूव कर रहा होगा तो यह हमारी मशीन कोड है और मशीन कोड के अंदर अब यह जो चीज है ना यह हमारा जावा का प्रोग्राम है जो कि अब आपका कंप्यूटर समझ सकता है इसको रन कर सकता है और अब इसको आप किसी भी प्लेटफॉर्म के अंदर रन कर सकते हो मतलब इसको आप विंडोज के अंदर रन कर सकते हो इसको आप मैक के अंदर रन कर सकते हो तो अलग-अलग प्लेटफॉर्म पर रन कर सकते हो मशीन कोड के अंदर एंड दिस इज योर पोल प्रोसेस अ जेवीएम इज अ मशीन यह एक्चुअल एक मशीन नहीं मतलब फिजिकली प्रेजेंट नहीं होती यह जेआर के अंदर प्रेजेंट होती है व्हिच इज एक्चुअली अ मशीन जो कि फिजिकली प्रेजेंट होता है बट जेवीएम का काम होता है कन्वर्ट करना योर बाइट कोड टू मशीन कोड यहां पर देखो लिखा हुआ है जेवीएम इज एन एब्स्ट्रेक्ट मशीन दैट इनेबल्स योर कंप्यूटर टू रन जावा प्रोग्राम तो अगर आपके कंप्यूटर को जावा प्रोग्राम रन करना है तो उसको जेवीएम चाहिए अपने का अंदर व्हेन यू रन द जावा प्रोग्राम जावा कंपाइलर फर्स्ट कंपाइल्स योर जावा कोड टू बाइट कोड हमने देख लिया कंपाइलर बाइट कोड में कन्वर्ट किया देन द जेबीएम ट्रांसलेट योर बाइट कोड इनटू नेटिव मशीन कोड तो यह नेटिव मशीन कोड के अंदर से कन्वर्ट कर देता है दिस मशीन कोड कैन नाउ बी रन इन एनी प्लेटफॉर्म ऑल राइट अ दैट अ कंप्यूटर एग्जीक्यूट्स डायरेक्टली तो अब जेवीएम के अलावा दो चीजें और भी होते है विच आर जे आरई एंड जेडी के अब जे आरई और जेडी के क्या होता है तो जे आरई के अंदर बेसिकली जेवीएम प्रेजेंट होता है जे आरई हमें जरूरत होती है अगर हम अपने हमें जावा के प्रोग्राम्स को रन करना तो उसके लिए हमें जीआर की जरूरत होती है जी आरई के अंदर जीवीएम के अलावा कुछ और चीजें भी होती कुछ सेट ऑफ लाइब्रेरीज होती है कुछ और भी मल्टीपल फाइल्स होती है जिनकी हेल्प से जेवीएम काम कर पाता है ठीक है और उसको एक एनवायरमेंट भी देता है तो जावा रन टाइम एनवायरमेंट कहते हैं इसे तो जी आरई को आप ऐसे समझ सकते कि सपोज करो यह जे आरई है आपकी और दिस इज योर जे आरई ल राइट इस जे आरई के अंदर हमारा जेवीएम प्रेजेंट है दिस इज योर जेवीएम बट इस जेआर के अंदर जेवीएम के अलावा कुछ और फाइल्स भी हैं ठीक है सम एडिशनल फाइल्स सम एडिशनल लाइब्रेरीज जिनकी जरूरत पड़ती है और साथ में ये रन टाइम एनवायरमेंट प्रेजेंट करता है जिससे कि आपका जावा कोट रन कर पाता है तो दिस इज योर जे आरई अ इसके अलावा एक और चीज होती है व्हिच इज जेडीके अब जेडीके इज अ सॉफ्टवेयर डेवलपमेंट किट और इसके अंदर मल्टीपल जो फाइल्स होती है जे आरई तो होता ही है जे आरई के अलावा कुछ और फाइल्स जैसे कि कंपाइलर कंपाइलर आपका प्रेजेंट नहीं होता जे आरई के अंदर ठीक है तो जे आरई के साथ-साथ अगर आपको कंपाइलर भी चाहिए इसके अलावा जावा डॉक डॉक्यूमेंटेशन आपको बनानी है मतलब पूरा का पूरा जब आपको जावा का प्रोग्राम बिल्ड करना है एकदम प्रॉपर आपको चाहिए कि मेरे को जावा के मल्टीपल बड़े-बड़े प्रोग्राम रन बिल्ड करने है तो मुझे जेडीके की रिक्वायरमेंट होगी तो भया जीआर की रिक्वायरमेंट कब होगी जब मुझे बस प्रोग्राम रन करने है अगर मुझे सिर्फ रन करना है प्रोग्राम तब मैं जी आरई से खुश हूं लेकिन अगर मुझे प्रोग्राम बड़े-बड़े बनाने हैं बड़े-बड़े बिल्ड करने जिसके अंदर मल्टीपल चीज होनी चाहिए जिसके अंदर कंपाइलर भी होना चाहिए जिनके अंदर जावा डॉक्यूमेंटेशन होनी चाहिए और भी मल्टीपल चीजें हैं तो मुझे उस टाइम पर जेडी के चाहिए होता है और यूजुअली आप जेडी के ही डाउनलोड कर रहे हो तो जे आरई वगैरह डाउनलोड नहीं कर रहे हो तो ठीक है सो दिस इज योर आप ऐसे समझ सकते हैं कि दिस इज योर जेडी के ल राइट और जेडीके के अंदर आपकी जे आरई तो होता ही है जे आरई के अंदर आपका जेवीएम है लेकिन इसके साथ साथ इसके अंदर कंपाइलर भी होगा ठीक है और मल्टीपल चीज होती है जैसे आप देख सकते हैं जावा डॉ जावा डी बगर भी होगा इसके अंदर तो ये सारी चीज होते है अभी कंपाइलर जेवीएम ये सब अगर बहुत कन्फ्यूजिंग लग रहा है तो भी बेयर विद मी एक चीज और बताना चाहूंगा कि मल्टीपल चीज इसमें हो सकता है शुरुआत में कंफ्यूजन लगे आपको कि भ ये सब क्या टर्मिनोलॉजी है बट प्रोग्रामिंग के सर यू हैव टू कीप अ सर्टेन लीप ऑफ फेथ एक थोड़ा सा लीप ऑफ फेथ लेके चलो कि ठीक है अभी शायद ये सेंस नहीं बना रही है लेकिन धीरे-धीरे करके बाद में चीजें सेंस बनाएगी क्योंकि होता क्या है आपको पढ़ना तो सब कुछ ही है इसके अंदर बेसिक चीजें भी पढ़नी है एडवांस चीजें भी पढ़नी है लेकिन शुरुआत में जो बेसिक चीजें होती है ना वही एडवांस लगने लगती है क्योंकि वो बेसिक चीजें तुरंत अपने आप काम नहीं करती हैं दे यूज सम एडवांस फीचर एज वेल लेकिन मेरे को आपको पहले बेसिक पढ़ाना है तभी तो मैं एडवांस चीजें पढ़ा पाऊंगा ठीक है तो इसमें ऐसे ही होता है प्रोग्रामिंग लैंग्वेज के अंदर कि पहले आपको पढ़ना इसको इस तरीके से होता है कि ठीक है कुछ चीजों को मैं लीप ऑफ लेके आगे चलता हूं कि ठीक है ये चीजें बाद में मैं सीख ही जाऊंगा और ट्रस्ट मी आप बाद में सीख ही जाओगे वो चीजें तो शुरुआत में अगर मुश्किल लग रहा है तब भी जस्ट बेयर विद इट ऐसा चलना होता है आपको तो यस आई थिंक समझ में आ गया होगा कि ये जेडी के है जेडीके के अंदर कंपाइलर और जीआर दोनों होता है जी आरई के अंदर आपका जेवीएम और मल्टीपल और लाइब्रेरीज एंड फाइल्स होती है जिनको अभी हम देख रहे होंगे धीरे-धीरे करके दिस इज योर होल थिंग और इससे आप लोगों का एक जावा का प्रोग्राम बिल्ड हो रहा होता है कंपाइल हो रहा होता है एंड देन रन हो रहा होता है ठीक है तो दो प्रोसेस होती है इसके अंदर आपने देखा होगा सबसे पहले आपने कंपाइल किया कंपाइल करने के बाद आपने इसको हेलो क्लास मतलब एक बाइट कोड में कन्वर्ट किया उसके बाद जेवीएम अपने आप काम करता है जब आपको रन करना होता है इनटू अ मशीन कोड दिस मशीन कोड कैन नाउ बी रन इनटू अ कंप्यूटर हमें जावा प्रोग्राम समझ में आ गया है जेवीएम कंपाइलर ये सब समझ में आ रहा है तो आप जरा जावा के अंदर कुछ कोड को लिखते हैं ठीक हैली में कोड लिखते हैं कि कोड कैसे काम करेगा वो कोड कहां लिखेंगे तो एक हमें इंटीग्रेटेड डेवलपमेंट एनवायरमेंट चाहिए पूरा का पूरा एनवायरमेंट जिसे हम शॉर्ट में कहते हैं आईडी उस आईडी के अंदर हम कोड लिख रहे होंगे तो हम जो इस आईडी को यूज करने वाले हैं जो इस प्रोग्राम में यूज हो रही होगी वो होगी हमारी इंटेलीज आईडी आप ये इंस्टॉल कर सकते हैं मैं आपको पूरा बताता हूं कैसे इंस्टॉल होगा इसके अलावा अगर आपको ये इंस्टॉल नहीं करना है तो यू कैन गो एड एंड इंस्टॉल इंटे विजुअल स्टूडियो कोड एज वेल ठीक है बट यहां पर हम इंटेलीज यूज कर होंगे तो यू हैव टू राइट दिस इंटेलीज आईडिया और यहां से आपको डाउनलोड करना है ज इस डाउनलोड बटन क्लिक करोगे तो यहां पर आप देख सकते हो कि दो वर्जन है एक तो अल्टीमेट वर्जन है अल्टीमेट वर्जन आप ले सकते हो आपको अगर आपके पास एक स्टूडेंट अकाउंट है तो आप अल्टीमेट वर्जन भी डाउनलोड कर सकते हो बट हम क एडिशन इंस्टॉल कर सकते हैं कम्युनिटी एडिशन मैंने इंस्टॉल किया हुआ है फिलहाल अभी और ये एकदम फ्री है अल्टीमेट वर्जन के अंदर अगर आप स्टूडेंट हो तो आपके लिए फ्री होता है जब तक आप स्टूडेंट रहते हो और उसको अनलॉक करने के मल्टीपल तरीके होते हैं जो कि आप नेट पे जाके सर्च कर सकते हो कि मुझे कैसे अपना स्टूडेंट आईडी लगानी है मैं कैसे इसमें एक्टिवेशन कोड लेके आ सकता हूं इफ आई एम अ स्टूडेंट बट कम्युनिटी एडिशन इज ऑलवेज फ्री और हम इसमें कम्युनिटी एडिशन ही यूज़ करने वाले हैं तो जस्ट डाउनलोड कर लो अपने एनवायरमेंट के हिसाब से जैसे अगर आपके पास मैक है तो यहां पे डीएमजी आ रहा है मेरे पास लेकिन अगर आपके पास विंडोज है तो ड फाइल आ जाएगी अपने आप यहां पे तो ग एड एंड डाउनलोड ये वाला लिंक आपको मिल जाएगा ठीक है दिस इज jp.com इसके ऊपर मिल जाएगा आपको तो जस्ट डाउनलोड करना है अब डाउनलोड करने के बाद जब नेक्स्ट नेक्स्ट नेक्स्ट करते रहोगे ना बस आपको कुछ नहीं करना सिंपल नेक्स्ट नेक्स्ट नेक्स्ट दबाना है कुछ नहीं करना होता है इसके अंदर वेरी सिंपल टू डाउनलोड इसके अंदर अपने आप ही जेडी के डल के आ जाता है खास बात ये है ठीक है आपको अगर आप वीएस कोड डाउनलोड करते हो तो वीएस कोड के अंदर सीधा जेडी के नहीं आता आपको जेडी के अलक्स डाउनलोड करना पड़ता है एंडर दोनों को कनेक्ट करना होता है बट यहां पे अपने आप ही वो डाउनलोड हो जाता है इंटेलीज के अंदर ही और साथ में कनेक्ट भी हो जाता है तो जरा चलाते हैं जब आप इसको चलाओगे ना तो ऐसा कुछ दिखेगा मैं आपको दिखाता हूं न्यू प्रोजेक्ट पर मैंने क्लिक किया तो आपको ऐसी कुछ स्क्रीन दिखाई देगी जब फाइनली आप प्रोजेक्ट बनाने लगोगे इसके अंदर आपको करना क्या है यहां पर अपने प्रोजेक्ट का नाम दे देना है कुछ भी जैसे मैंने नाम दिया है प्राइम प्रोग्राम ठीक है उसके बाद जैसे मेरा प्राइम प्रोग्राम ऑलरेडी बना हुआ है तो प्राइम प्रोग्राम मुझे बनाने देगा नहीं है मैं खैर बनाऊंगा नहीं इसको और उसके बाद यहां पर आपको सेलेक्ट करना है जावा इस तरीके से यहां पर मल्टीपल लैंग्वेजेस आ रही है लेकिन आपको जावा सिलेक्ट करना है उसके बाद बिल्ड सिस्टम हमारा इंटेलीज ही रहेगा इसके अंदर जेडी के देख रहे हो जावा डेवलपमेंट किट इसके अंदर ऑलरेडी इंस्टॉल होके आ रही होगी आपके पास ठीक है इस तरीके से अगर नहीं आ रही है तो आप यहां पर डाउनलोड जेडी के पर क्लिक कर सकते हो और य यहां पे डाउनलोड करके कनेक्ट भी कर देगा बट आई थिंक अपने आप ही यहां पर आ जाना चाहिए आपके पास उसके बाद यू कैन जस्ट क्लिक क्रिएट और आपका एक प्रोग्राम पूरा का पूरा प्रोजेक्ट बन के रेडी हो जाएगा इस तरीके का आपका वो प्रोजेक्ट दिख रहा होगा कि आपको साइड में यहां पर लेफ्ट साइड में दिख रहा होगा यह प्राइम प्रोग्राम हमारा यह एक्चुअली प्रोजेक्ट है और उसके अंदर इस तरीके से कुछ फाइल स्ट्रक्चर दिख रहा है यह सार सारा फाइल स्ट्रक्चर देख कंफ्यूज नहीं होना कि भ ये सब क्या आ गया यह सब तो मैंने बनाया नहीं था यह सब इंटेलीज अपने आप ही कुछ कुछ फाइल्स और फोल्डर्स बना देता है आपको कंफ्यूज नहीं होना लेकिन इनसे अगर आप अंदर जाकर देखोगे तो यहां पे है क्या बेसिकली एक्सटर्नल लाइब्रेरीज जिनकी मैं बात कर रहा था एक्सटर्नल लाइब्रेरीज जो कि आपके जी आरई के अंदर आ रही होती है वो सारी की सारी लाइब्रेरीज ये हैं तो इनके अंदर हमें नहीं घुसना होता ये लाइब्रेरीज हमारी हेल्प करती है हमारे प्रोग्राम को रन करने के लिए इसके अलावा यहां पर कुछ अलग फाइल्स है इग्नोर फाइल्स एंड देन आल फाइल इन सब को इग्नोर ही कर दो ठीक है डोंट वरी अबाउट दिस फाइल्स हमारा मेन काम रहने वाला है इस सोर्स फोल्डर के अंदर इस सोर्स फोल्डर पे अगर आप राइट क्लिक करोगे और आप क्लिक करोगे न्यू एंड दे उसके बाद आप क्लिक करोगे जावा क्लास तो यहां पर आके हम एक जावा क्लास बना सकते हैं न्यू और इसका मैं नाम रखता हूं सपोज करो हेलो ट जावा ठीक है डॉट जावा लगाना जरूरी है डॉट जावा नहीं लगाओगे तो काम नहीं चलेगा ठीक है हेलो ड जावा लगाया मैंने तो यहां पर मेरा हेलोड जावा नाम की फाइल बन चुकी है वैसे अगर आप इसको नहीं भी बनाते ना मुझे ये लग रहा है कि अगर मैं सिंपल यहां पर एक न्यू क्लास बनाता हूं लेट्स से हेलो वर्ल्ड और मैं नहीं लगाता हूं डॉट जावा तब भी अपने आप बन जाएगा हेलो वर्ड जावा ठीक है ये इंटेलीज थोड़ा सा स्मार्ट है इस सेंस में तो अगर आप डॉट जावा नहीं भी लिखते हो तो उसे पता है कि जावा क्लास बनानी है तो डॉट जावा तो लगाना जरूरी है ही इस तरीके से बना देगा फिलहाल इसको डिलीट कर देता हूं एंड लेट्स गो टू हेलो फाइल अब यह हेलो फाइल के अंदर य हमारा यहां पर कुछ कुछ कोड लिखा आ रहा है जो कि आप देख सकते हैं पब्लिक क्लास हेलो तो यस दिस इज योर सिंटेक्स अब यहां पर वो लेब ऑफ फेथ वाली बात स्टार्ट हो जाती है कि भैया कुछ कुछ चीजें आपको शुरुआत में ऐसे मान के चलना पड़ेगा कि ठीक है ये चीजें मैं धीरे-धीरे करके सीख रहा हूंगा जैसे कि ये क्या लिख दिया आपने पब्लिक लिख दिया ये क्लास लिख दिया ये हेलो क्या है यह सब क्या है धीरे-धीरे करके सीखू मैं लेकिन बेसिकली आप समझ सकते हो कि आपको एक क्लास बनानी पड़ती है पब्लिक क्लास तो जो भी फाइल है आपकी जैसे हेलोड जावा फाइल है तो जो इस फाइल का नाम है हेलो नाम है उसी सेम नाम की मुझे एक क्लास बनानी है एंड दैट शुड बी अ पब्लिक क्लास ठीक है उस नाम की मैंने एक पब्लिक क्लास बना दी यहां पर और एक फाइल के अंदर मल्टीपल क्लासेस हो सकती है लेकिन पब्लिक क्लास सिर्फ एक ही होगी ये सारी सारी कांसेप्ट हम धीरे-धीरे करके बाद में जब ओस पढ़ रहे होंग तबी समझ रहे होंगे लेकिन यस दिस इज हाउ यू क्रिएट अ क्लास पब्लिक क्लास हेलो क्योंकि जावा एक ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग लैंग्वेज है इसके अंदर सब कुछ क्लास और ऑब्जेक्ट की फॉर्म में काम करता है ठीक है तो क्लास आपको हर चीज की बनानी ही होती है इसके अंदर ऊपर ये जो नो यूसेज लिखा आ रहा है इसको आप इग्नोर कर दो ये कुछ भी नहीं है ये इंटेलिजेंस का अपना कुछ काम है इंटेलिजेंस अपने आप कुछ कुछ करता रहता है ठीक है डोंट वरी अबाउट दिस अब इसके के अंदर हमें कुछ कुछ लिखना है जैसे कि आप यहां पर देख सकते हो यहां पर क्या क्या है बेसिक जावा प्रोग्राम में यहां पर क्लास मेन लिखा हुआ है पब्लिक नहीं लिखा हुआ है डोंट वरी ठीक है हमने पब्लिक क्लास हेलो बना दी है तो हमारी क्लास वाला काम तो खत्म हो गया उसके बाद आपको इसके अंदर एक मेन मेथड बनाना है अब देखो यहां हो क्या रहा है दिस इज अ ब्लॉक इसके अंदर ये जो कर्ली ब्रेस आप देख रहे हो कर्ली ब्रेस यहां पर ओपन हो रहा क्लोज हो रहा है दिस इज अ ब्लॉक मैं यहां पर लिख सकता हूं कमेंट लगा के दिस इज अ ब्लॉक और यह जो मैंने चीज लिखी है बाद में दिस इज अ कमेंट कमेंट हम इसी क्लास के अंदर समझ रहे होंगे कमेंट बेसिकली वो चीज होती है जो कि आपका कंप्यूटर इग्नोर कर देता है जो कि कंपाइलर इग्नोर कर देता है यह सिर्फ आपके समझने के लिए मैंने लिखा है ठीक है तो दिस इ द ब्लॉक जहां पर ओपनिंग करनी स्टार्ट हु जहा पर क्लोज हो रहा है दिस इ कंप्लीट ब्लॉक इसके अंदर आप जो भी चीज लिखोगे व इस पब्लिक क्लास के अंदर आ जाएंगे ठीक है अब इसके अंदर हम जाते हैं और एक चीज लिखते हैं अब इसके अंदर आप जितनी मर्जी लाइन बना सकते हो ठीक है एंटर करके उसके बाद बनाऊगा य पर मेन मेथड अपना तो पब्लिक स्टैटिक वॉइड मेन और इसके अंदर मैं लिखूंगा स्ट्रिंग ओपनिंग एंड क्लोजिंग ब्रैकेट्स दिस आर स्क्वायर ब्रैकेट्स बाय द वे और इस तरीके से आपका मेन मेथड काम करता है इसके अंदर यहां पर अपने आप देख रहे ये ब्लू ग्रीन कलर के रन वाले बटंस भी आ गए हैं बिकॉज अब ये जो फाइल है दिस कैन नाउ बी रन बिकॉज इसके अंदर हमने मेन मेथड बना दिया है तो जावा के अंदर जो भी प्रोग्राम आप बनाते हो वो सब के सब स्टार्ट होते हैं मेन मेथड से जब भी आप किसी भी प्रोग्राम को रन करोगे जावा के अंदर तो वो फाइल के अंदर ढूंढेगा कि मेन मेथड क्या है और साथ में मेन मेथड ऐसा ही नहीं मेन मेथ वो वाला जिसके अंदर ये वाला सिग्नेचर हो पब्लिक स्टैटिक वॉइड ठीक है अब ये क्यों लगाना पड़ रहा है धीरे धीरे करके समझेंगे अगेन ठीक है लेकिन बेर विद मी ये चीज आपको लिखनी ही पड़ेगी तो यह सब कुछ तो आपको लिखना ही पड़ेगा जावा के अंदर जब आपको स्टार्ट करना होता है ठीक है इसके बाद अब अगर आपको कुछ प्रिंट करना है इसके अंदर जावा के अंदर सपोज करो सबसे पहले लो प्रिंट करते हैं हेलो वर्ल्ड तो वो प्रिंट करके देखते हैं तो उसके लिए आपको लिखना है सिस्टम डॉट आउट डॉट एलन और इसके बाद इसके अंदर डबल कोड्स के अंदर लिखेंगे हम हेलो वर्ल्ड इस तरीके से एक सेकंड वर्ल्ड तो यहां पर हमारा एक प्रोग्राम बन गया है जिसका काम है प्रिंट करना इसको जरा रन करके तो रन करने के लिए आपको यह वाला बटन हिट करना है या तो यह वाले बटन से आप रन कर सकते हो या फिर ऊपर वाले बटन से रन कर सकते हो कैसे भी रन कर सकते हो मैं यहां से रन करता हूं इसे रन हेलोड मन और आप यहां पर देखोगे नीचे एक विंडो खुल गई है हमारी देख रहे हो हेलो वर्ल्ड यह आपका प्रिंट हो रहा है ऊपर जो कुछ लिखा हुआ है इसको आप इग्नोर कर दो य बेलिए वो कमांड है जिसकी वजह से ये हेलो वर्ल्ड हमारा प्रिंट हुआ है बट ये कमांड हमें लिखने की जरूरत नहीं पड़ी क्योंकि हमने सिंपल ये अपना ग्रीन बटन दबा दिया था और इसने ये चीज प्रिंट कर दिया हेलो वर्ल्ड तो बेसिकली यहां पर हमारा सिंपल सा जावा का प्रोग्राम बन चुका है एंड कांग्रेचुलेशन अगर आप लोगों ने इतना बना दिया बिकॉज नाउ यू हैव रिटर्न योर वेरी फर्स्ट जावा प्रोग्राम अगर इससे पहले आपने जावा प्रोग्राम नहीं लिखा था तो अब इसके अंदर जो कॉम्पोनेंट है कि कैसे भैया ये इसके अंदर क्या-क्या लिखा गया है ये सब बताओ और कैसे हम लिख सकते हैं इसके अंदर और कैसे कॉम्प्लिकेटेड प्रोग्राम बना सकते हैं वो सब बताओ तो धीरे-धीरे करके आगे बढ़ते हैं सबसे पहले यस सिस्टम डड प्रिंट इसके अंदर आप जो भी कुछ लिखोगे उससे आपका प्रोग्राम प्रिंट करने लग जाएगा लेकिन अगर आपको इसके अंदर कुछ भी प्रिंट करना है तो आपको इस तरीके से इसे डबल कोट्स में लिखना पड़ेगा डबल कोट्स में आप कोई भी चीज लिखते हो तो वो एक स्ट्रिंग बन जाती है ठीक है अगर आपको चीजों को स्ट्रिंग की तरह प्रिंट कराना है मतलब ऐसे वर्ड या सेंटेंसेस स्ट्रिंग मतलब वर्ड या सेंटेंसेस तो जब आपको ऐसे सेंटेंसेस को प्रिंट कराना है तो उसको आपको इस तरीके से स्ट्रिंग बनाना पड़ेगा स्ट्रिंग बनाने के लिए आपको उसको डबल कोट्स के लिटरल्स में डालना पड़ेगा ठीक है दिस इ डबल कोट्स इस तरीके से आप कोई भी चीज प्रिंट कर सकते हो लेकिन आप चाहो तो इसके अंदर और भी कमाल कमाल के काम कर सकते हो जैसे कि मैं आऊंगा नीचे और एक और सिस्टम प्रिंट लाइन लिखता हूं मैं इसके अलावा मैं एक और चीज कर सकता हूं इंटेलीज के अंदर मैं यहां पर कुछ शॉर्टकट्स का यूज कर सकता हूं ठीक है जैसे कि एस आउट एंड देन हिट टैब ठीक है मैं दोबारा लिखता हूं एस ओ यू टी उसके बाद हिट करो टैब तो अपने आप ही यहां पर सिस्टम प्रिंट लिखा आ जाएगा ठीक है सिमिलरली अगर आपको पब्लिक स्टैटिक वॉइड बन वाला फंक्शन बनाना है तो उसके लिए आप लिख सकते प एसवी एम हिट टैब और अपने आप ही पब्लिक स्टैटिक वड वाला फंक्शन बन जाता है इसके अंदर तो जो चीज रिपीट कर रही होते उनके टेंप्लेट अपने आप इंटेलीज के अंदर बनाए हुए हैं तो वह आपको बारबार नहीं लिखने होते हैं स या दिस इ योर हेलो वर्ल्ड एक काम में और करना चाहूंगा वो यह यह जो मैंने लेफ्ट साइड में टैब लिखा हुआ है ना यह इसको मैं ले आऊा राइट साइड में मूव टू राइट टॉप इस साइड ठीक है आपसे य हमेशा राइट साइड में रहा करेगा तो इस प्रिंटन के के अंदर मैं जाके लिखता हूं लेट्स से 4 + 3 तो सिंपल सा कैलकुलेटर इसका काम है बस 4+ 3 को ऐड करना और प्रिंट कर देना तो जरा मैं इसे रन करता हूं अगेन ठीक है रन तो आप देखोगे पहले हेलो बल प्रिंट हुआ है उसके बाद 4 + 3 वच इज 7 सेवन प्रिंट हो गया तो इस तरीके से आपने एक सिंपल सा प्रोग्राम लिख दिया जो कि कुछ चीजों को प्रिंट कर रहा है अब आप बोलोगे भया इसको आपने डबल पोर्ट्स में क्यों नहीं लिखा तो यहां पर बहुत बड़ा गोचा वो ये है कि आप इनको अगर लिखोगे डबल कोट्स के अंदर तो अगेन ये बन जाएगा एक स्ट्रिंग ठीक है तो इसका मतलब अब आप 4+ 3 यह प्रिंट करना चाहते हो दिस इज अ वर्ड तो आप देखोगे यहां पर सेवन प्रिंट नहीं होगा यहां प्रिंट होगा 4+ 3 क्योंकि ये एक स्ट्रिंग बन चुका है लेकिन अगर आपको इसको ऑपरेशन की तरह लिखना है मतलब आपको लिखना है कि ठीक है मैं फोर और थ्री दो अलग-अलग नंबर्स को ऐड करना चाहता हूं तो आपको ऐसे स्ट्रिंग में नहीं डालना उसे तो इस तरीके सेय जावा काम करता है ठीक है तो दिस इज अ वेरी बेसिक जावा प्रोग्राम आपको समझना होगा ये कि आपको जब भी कोई जावा प्रोग्राम बनाना है तो उसके अंदर सबसे पहले एक फाइल बनानी है इस फाइल का नाम होना चाहिए बिल्कुल उसके बराबर जो आपकी पब्लिक क्लास है उसके बाद उस पब्लिक क्लास के अंदर जो भी मेथड आप मेन वाला बनाओगे जिसका सिग्नेचर ये होगा पब्लिक स्टैटिक वॉइड मेन उसके बाद वो ले रहा होगा आर्गुमेंट इनपुट जिसके अंदर स्ट्रिंग का एरे और आर्गुमेंट ये पास हो रहा होगा तभी आपका काम करेगा अब ये क्या हो गया भैया स्ट्रिंग का एरे आर्गुमेंट ये सब क्या है धीरे-धीरे करके चीज समझ में आएंगे अगेन ठीक है फॉर नाउ बस रट लो कि ठीक है मुझे ये सारी लाइन लिखनी पड़ती है ये सारे वर्ड्स ऐसे-ऐसे लिखने पड़ते हैं स्ट्रिंग के आगे मुझे ये दो चीजें लगानी पड़ती हैं उसके बाद मुझे ये लिखना होता है ये सब वापस अभी फिलहाल के लिए रट लो प्लीज धीरे-धीरे करके आपको समझ में आएगा कि ठीक है इनका मतलब क्या है इनकी जरूरत क्या है इनकी जरूरत क्यों पड़ती है ठीक है उसके बाद सिस्टम डड प्रिंटन लिखते हैं तो उसकी हेल्प से हम कुछ भी चीजें प्रिंट करवा पाते हैं सिमिलरली अगर आपको मल्टीप्लाई कराना है कुछ भी जैसे 3 मल्टीप्ला बाय सक्स तो मल्टीप्लाई करने के लिए ये वाला एस्ट रिस्क वाला साइन होता है एंड देन इफ यू हिट रन तो आपने प यहां पर 18 प्रिंट हो गया ठीक है 3 म बा 6 तो ये हमारा बेसिक जावा प्रोग्राम है आई थिंक समझ में आ रहा होगा लेकिन यहां पर एक डाउट भी आ रहा होगा कि भाई आपने कहा था कि एक हेलो ड जावा फाइल होती है वो तो हमने देख ली लेकिन ये कंपाइल होके हेलो ड क्लास फाइल और ये फिर जेवीएम के अंदर मशीन कोड ये सब जो आपने बताया था ये सब कहां पर गया ये सब तो हमने देखा ही नहीं तो बेसिकली हुआ क्या ना इंटेलिजेंस आईडी ने हमारी यहां पर हेल्प कि है ठीक है दिस होल इंटेलिजेंस आईडी इसने इन सभी स्टेप्स को एक सिंपल इस ग्रीन बटन के अंदर क्लिक करके बस सिंपल से ग्रीन बटन में कन्वर्ट कर दिया मतलब आपको बस यहां पर एक रन बटन प क्लिक करना है देन कंपाइल उसका बाद रन होना यह सब अपने आप हो जाएगा लेकिन यह हेलो डॉट क्लास फाइल बाइट कोड वगैरह में कन्वर्ट होना ये सब फाइल आपकी बन रही होती है एक्चुअली कहां बन रही होती है तो यह तो आपकी सोर्स के अंदर . जावा फाइल है ठीक है वहीं पर अगर आप आउट पर क्लिक करोगे तो यहां पर आप देखोगे प्रोडक्शन के अंदर यह प्रोजेक्ट फाइल के अंदर हेलो ठीक है यह आपकी डॉट क्लास फाइल है और यहां पर आप देख सकते हो हेलोड क्स ऊपर यहां पर देख रहे हो आप हेलोड j तो हेलोड जावा फाइल भी होती है हेलोड क्स फाइल भी होती है हमारे पास और यह जो क्लास फाइल है आपको यहां पर लग रहा होगा भ ये तो मेरा ह्यूमन रीडेबल फॉर्मेट में लिखा हुआ है एक्चुअली यहां पर आपने इसको डीकंपाइल कर दिया इस जावा इंटेलीज आईडी ने इसको डीकंपाइल कर दिया सो दैट हम इसे समझ पाए हम इसे पढ़ पाए लेकिन एक्चुअली में यहां पर कुछ अजीब से फॉर्मेट में लिखा होता है सब कुछ ठीक है तो यस ये सब हो रहा है अब यहां पर लेकिन अगेन अगर कुछ भी इशू आ रहा है कुछ समझ में नहीं आ रहा है कि भैया चीजें कैसे काम कर रही है इसके अंदर अगर आपका इंस्टॉल नहीं हो पा रहा है इंटेलिजेंट आईडी या फिर कुछ भी एरर कहीं भी आ रहा है तो प्लीज आस्क ठीक है अपने बैचमेट से पूछो टीचिंग असिस्टेंट जो भी है उनसे पूछो मेरे से पूछो डिस्कॉर्डेंस पर हम आपके इन सभी इश्यूज को रिजॉल्व कर रहे होंगे ठीक है लेकिन हम इसके साथ आगे बढ़ते हैं और अब हम बात करते हैं जावा कीवर्ड्स की तो जावा कीवर्ड बेसिकली कुछ ऐसे वर्ड्स होते हैं जो जावा ने रिजर्व रखे हुए हैं जावा ने बोला गा कि देखो ये वर्ड्स आपको कहीं और यूज नहीं करने हैं ये वर्ड्स आप यूज तो करोगे लेकिन आईडेंटिफायर बनाने के लिए यूज नहीं करोगे अपने कुछ अपनी कुछ क्लास का नाम बना रहे हो अपने कुछ वेरिएबल का नाम बना रहे हो वहां पर इनको यूज नहीं करोगे ठीक है और इनमें से मल्टीपल कीवर्ड्स मतलब आई थिंक 90 पर से ज्यादा कीवर्ड हम इस कोर्स के अंदर पढ़ चुके होंगे पूरा का पूरा जब ये प्रोग्राम खत्म होगा तो आप इनमें से काफी सारी चीजें पढ़ चुके होंगे और जो नहीं पढ़ रहे होंगे वो बहुत ज्यादा यूज होती नहीं है ठीक है वो कुछ ज्यादा ही एडवांस जावा जब होती है वहां पर यूज हो रहे होते हैं बट यस इसमें से हम काफी सारी चीजें पढ़ चुके होंगे और समझ में आ रही होंगी धीरे-धीरे करके इनमें से आप देख सकते हो जैसे पब्लिक ऑलरेडी हम देख चुके हैं ठीक है दिस इज पब्लिक इसके अंदर स्टैटिक भी होगा कहीं ना कहीं स्टैटिक भी हमने देख लिया है तो हा मल्टीपल चीज दिस इ स्टैटिक राइट तो काफ सारी चीज हम देख चुके हैं वर्ड हम देख चुके हैं तो ये सारी चीजें आपको और कहीं यूज नहीं करनी है ये चीजें आपके कीवर्ड्स होते हैं जावा ने बोला हु कि सुनो भाई यह वर्ड्स मैंने बना रखे हैं ताकि मैं कुछ सेट ऑफ रूल्स बना सकूं आप लोगों के लिए तो यह वर्ड्स आप मत यूज करना दज आर की वर्ड्स अब हम बात करते हैं जावा वेरिएबल की देखो जब भी आपको जावा में कुछ काम करना है तो आपको कुछ वेरिएबल की जरूरत पड़ेगी प्रोग्राम के अंदर काम क्या होता है प्रोग्राम के अंदर काम होता है कि कुछ ऑपरेटर्स होते हैं उनके ऊपर कुछ ऑपरेशन हो रहे होते हैं ठीक है आपके पास सारे के सारे प्रोग्राम ऐसे बन होते हैं आपके पास कुछ ऑपरेटर्स है सपोज करो थ्री और फोर के ऊपर आपने कुछ ऑपरेशन किया एडिशन तो दिस इज योर प्रोग्राम और इन्हीं सभी के सीक्वेंसेस से मिलके बन रहा होता है पूरा का पूरा प्रोग्राम ठीक है कुछ कुछ कंडीशन लग जाती है इनके अंदर इफ कंडीशन लग जाती है या फिर यही चीज आपकी लूप में चल जाती है तो ऑल दीज थिंग्स यह सब मिलके ही आपके प्रोग्राम को बना रहे होते हैं और इसका सबसे बेसिक चीज होती है यह जो आपने ये चीज रखी हुई है ना थ्री फोर ये जो नंबर्स है ये थ्री और फोर आपने कहीं पर भी जैसे आपके पास मेमोरी है बहुत बड़ी राइट इस मेमोरी के अंदर काफी सारी चीजें रखी हुई है आपके पास बहुत बड़ी-बड़ी मेमोरी होती है 16gb की रम है ठीक है उस मेमोरी के अंदर छोटा सा चार बाइट का जो नंबर है ये कहां स्टोर होगा सपोज करो यहां पर स्टोर हो रखा है इसको मैं एक्सेस कैसे करूंगा तो मुझे इसको एक्सेस करना है तो इसके लिए इसके लिए मुझे इसका कुछ नाम रखना पड़ेगा एंड दिस इज कॉल्ड वेरिएबल ठीक है वेरिएबल की हेल्प से मैं मेमोरी के अंदर किसी भी चीज को एक्सेस कर सकता हूं बेसिकली ऐसा हो गया कि एक घर के अंदर अगर सपोज करो चार लोग हैं और इन चारों में से किसी को कोई बुला रहा है सपोज करो इसको कोई बुला रहा है तो कैसे बुलाएगा अगर इसका कोई नाम होगा तो बड़े आराम से बुलाया जा सकता है इसको राइट इसका नाम सपोज करो ए है इसका नाम बी है सी है डी है ये बोल सकता है भाई मुझे एक ए बाहर आ जा तो ए तब बाहर आ सकता है क्योंकि इस बंदे को पता है कि ए ए ही बुला रहा हूं मैं और ए वाला बंदा आ जाएगा तब सिमिलर टू दैट जवा प्रोग्राम जब किसी वेरिएबल को एक्सेस करना चाहता है तो ये नहीं बोलेगा कि यहां पर जो नंबर है फोर वो आ जा नहीं मतलब इस इंसान को सीधा नहीं उठा रहा होगा वो बोलेगा भाई एज हो सकता है इस वेरिएबल का नाम है एज बोलेगा एज वेरिएबल चाहिए मुझे तो फिर एज वेरिएबल ढोना जाता है मेमोरी के अंदर कहां रखा हुआ है और उसका एक्सेस होता है जावा के पास और फिर जावा अपने आप ही उस एज वेरिएबल के अंदर जो भी चीजें रखी हुई है जैसे फोर रखा हुआ है तो फोर आपको एक्सेस करके दे देगा वहां पर से ठीक है वेरिएबल वगैरह को आपने मैथमेटिक्स के अंदर भी काफी देखा होगा जैसे एज वाले क्वेश्चन होते थे कि अभी हमारी एज इतनी है पापा की एज इतनी है तो 10 साल बाद डबल हो जा रही है तो अभी फिलहाल एज बताओ कितनी है इस तरीके से क्वेश्चन जब आप करते हैं तो आप हमेशा एज्यूम करते हो कि लेट द भी x तो ये जो x है ये क्या है ये x एक वेरिएबल ही तो है ये x एक वेरिएबल है जिसके अंदर आपने कुछ वैल्यू जो आपका आंसर आता है वो स्टोर करते हो आप ठीक है तो दिस इज अ वेरिएबल जिसकी वैल्यू चेंज हो सकती है बाद में कभी भी और इस वेरिएबल के वेरिएबल को जब आप बनाते हो इस वेरिएबल का जब आप नाम रखते हो जैसे मैंने यहां पर एक्सस का नाम रखा है या फिर इसका नाम मैंने यहां पर एज रखा है तो कुछ रूल होते हैं इन रूल्स को आपको फॉलो करना होता है वो रूल्स क्या है वो यहां पर लिखे हुए हैं रूल्स सारे के सारे आप देख सकते हैं एकएक करके कि जावा एक के सेंसिटिव लैंग्वेज है इसलिए जो एज और एज ये दोनों चीज है डिफरेंट है ठीक है एक-एक करके देखेंगे सबको अगला यहां पर लिखा हुआ है वेरिएबल मस्ट स्टार्ट विद इदर लेटर अंडरस्कोर और अ डॉलर साइन इसके अलावा वेरिएबल के अंदर आपके अल्फा न्यूमेरिक कैरेक्टर हो सकते हैं इसके अलावा और कुछ नहीं हो सकता अल्फा न्यूमेरिक कैरेक्टर या फिर अंडरस्कोर या फिर डॉलर लेकिन आपको अगर स्टार्ट करना है वेरिएबल नेम तो आप सिर्फ एक लेटर से स्टार्ट कर सकते हो अंडरस्कोर से और डॉलर से इसका मतलब सिर्फ नंबर से आप वेरिएबल नेम को स्टार्ट नहीं कर सकते हो इन सभी को जरा देखते हैं कोड के अंदर ठीक है एक काम करता हूं मैं इस सारे के सारे कोड को हटा रहा हूं और यहां पर एक वेरिएबल बनाता हूं आपके लिए तो इन एज इक्वल्स टू लेट्स से 26 दिस इज अ वेरिएबल आप यहां पर देख सकते हो कि मैंने एक एज नाम का वेरिएबल बनाया है जिसके अंदर मैंने 26 स्टोर कर दिया है अब हो क्या रहा है यहां पे कि मेमोरी के अंदर आपका एज चला गया है उस एज के अंदर 26 रखा हुआ है इसको आप ऐसे समझ सकते हो कि सपोज करो यह मेरी मेमोरी है राइट इस मेमोरी के अंदर मैंने क्या किया जज नाम का एक वेरिएबल बना दिया और उस वेरिएबल के अंदर सपोज करो यहां पर 26 रखा हुआ है तो इस मेमोरी के अंदर तो 26 रखा हुआ है लेकिन इस मेमोरी को एक्सेस कैसे कर सकते हैं हम मेमोरी को एक्सेस करने के लिए मुझे इस एज नाम का पता होना चाहिए बस इसका मतलब मुझे मेमोरी का जो लोकेशन है एक्चुअल लोकेशन जो कि मेमोरी के लोकेशन बड़ी अजीब से होती है ठीक है बड़ी सी मेमोरी है मुझे पता है 16gb रम है तो लोकेशन बहुत अजीब सी होती है मुझे इसका ख्याल रखने की जरूरत नहीं है मुझे सिर्फ याद रखना है एज मुझे अगर एज नाम का वेरिएबल पता है तो वेरिएबल ऑलरेडी इसको एक्सेस कर रहा है 26 को एक्सेस कर रहा है ठीक है दैट इज हाउ यू क्रिएट वेरिएबल इसके अलावा आप यहां पर देख सकते हो ये इंट भी लिखा हुआ है मैंने तो क्या भैया मुझे इंट भी लिखना होता है हमेशा तो नहीं इंट इज एक्चुअली अ डटा टाइप और मल्टीपल टाइप के डटा टाइप्स होते हैं हमारे ठीक है बेसिकली आप अलग-अलग टाइप का डाटा स्टोर कर सकते हो अपनी मेमोरी के अंदर इंजर टाइप का डेटा स्टोर कर सकते हो फ्लोट मतलब कि डेसिमल टाइप का डटा स्टोर कर सकते हो स्ट्रिंग स्टोर कर सकते हो ट्रू फॉल्स वैल्यू स्टोर कर सकते हो मल्टीपल टाइप का डेटा आप स्टोर कर सकते हो अपनी मेमोरी के अंदर तो इंट भी एक टाइप का डाटा है ठीक है और अलग अलग टाइप के डाटा भी हम देख रहे होंगे धरे करके लेकिन हां दिस इज हाउ यू क्रिएट अ वेरिएबल आपने एक ए नाम का वेरिएबल बनाया सपोज करो आप बाद में चलके और वेरिएबल बनाते हो कि मार्क्स और मार्क्सस आपने रख दिया लेट्स से 98 तो आपने क्या किया मार्क्स नाम का वेरिएबल बना दिया और उसके अंदर आपने 98 स्टोर किया इस तरीके से अब यहां पर जो रूल्स है कि आप वेरिएबल के नेम को कैसे बनाओगे तो वेरिएबल नेम बनाने के लिए आपको कुछ मीनिंगफुल नेम बनाने होते हैं और उसके बाद इन रूल्स का फॉलो करना होता है सबसे पहले जावा इस के सेंसिटिव इसका मतलब एज आपने बनाया या फिर आपने यह बनाया इन ए कैपिटल जी तो यह दोनों के दोनों डिफरेंट है भाई यह वाला वेरिएबल और ये वाला वेरिएबल डिफरेंट है क्योंकि जावा एक केस सेंसिटिव लैंग्वेज है इसका मतलब इसको पता चलता है कि आप ने कैपिटल जी लिखा है या स्लज लिखा है तो ये याद रखना है आपको अगला रूल है वेरिएबल नेम मस्ट स्टार्ट विद लेटर या अंडरस्कोर या डॉलर इसका मतलब आप ये सारे वेरिएबल नेम तो वैलिड है लेकिन अगर आप ऐसा कुछ बनाते हो लेट्स से इन अ सेकंड बॉय इक्वल टू 12 तो यह वैलिड नहीं है आप देख रहे यहां पर एरर आ रहा है कुछ रेड रेड लाइन आ गई है यहां पर बिकॉज ये एक इनवैलिड नेम है आप किसी भी वेरिएबल नेम को नंबर से स्टार्ट नहीं कर सकते हो मैं यहां से जैसे ही इस टू को हटाऊ तब ये एक वैलिड नेम बन जाएगा ठीक है इस तरीके से ये एक वैलिड एक और रूल होता है जो मतलब कि मतलब जावा बोलता नहीं है इंफोर्स नहीं करता लेकिन आपको फॉलो करना चाहिए वो यह कि जब आप दो वर्ड्स वाले वेरिएबल नेम बना रहे हो या फिर तीन वर्ड्स वाले बना रहे हो बेसिकली मोर देन वन वर्ड्स के वेरिएबल नेम बना रहे हो तो आपको वहां पर कैमल केस फॉलो करना चाहिए कैमल केस तरीका जैसे सपोज करो मैंने स्टोर किया इंट सेकंड मार्क्स सेकंड मार्क्स इक्व टू 23 तो यहां पर ये सेकंड मार्क्स मुझे ऐसे नहीं बनाना चाहिए मुझे पता है सेकंड एक अलग वर्ड है मार्क्स एक दूसरा वर्ड है तो मुझे क्या करना चाहिए मार्क्स का जो एम है वोप डल कर देना चाहिए दिस इज हाउ तो आप देख रहे हो वो नीचे जो स्ट्रिक्टली लाइन आ थी ब्लू कलर की वो भी जा चुकी है तो इस तरीके से आपको वेरिएबल नेम बनाने चाहिए हमेशा जावा के अंदर दिस इज कॉल्ड कैमल केस अगर आप तीन वर्ड का बनाते हो सेकंड मार्क्स ऑफ स्टूडेंट तो ऑफ का ओ कैपिटल होगा स्टूडेंट का एस कैपिटल होगा इस तरीके से समझ में आ रहा है पहला लेटर लेकिन स्मॉल होगा पहला लेटर स्मॉल रखना है उसके बाद जितने भी है वर्ड्स उनका पहला लेटर आपको कैपिटल रखना है दिस इज कॉल्ड कैमल केस ठीक है कैमल केस कैमल केस टे इस तरीके से आपको वेरिएबल नेम बनाने होते हैं एक रूल और है वेरिएबल नेम कैन नॉट बी अ कीवर्ड वेरिएबल नेम कीवर्ड नहीं हो सकता इससे ऊपर एक और लिखा हुआ है वेरिएबल नेम कांट यूज वाइट स्पेस मतलब आप ऐसे नहीं लिख सकते कि इंट सेकंड मार्क्स ऑफ स्टूडेंट नहीं वेरिएबल नेम के बीच में ऐसे स्पेस नहीं आ सकता दिस इज नॉट अलाउड वेरिएबल नेम आप बनाओगे तो आपको इस तरीके से बनाने है लगातार कंटीन्यूअस फशन में वेरिएबल नेम के अंदर और क्याक चीज आ सकती है तो ये जो स्पेशल कैरेक्टर्स है जैसे कि रेट यह सब नहीं आ सकता ठीक है तो सेकंड रेट 12 इ 3 दिस इ नॉट अलाउड रेट वगैरह नहीं आ सकते तो कौन-कौन से स्पेशल कक्टर आ सकते हैं तो आपका एक तो अंडरस्कोर आ सकता है दिस इ अलाउड और इसके अलावा आपका एक डॉलर आ सकता है दिस इ आल्सो अलाउड ठीक है यहां पर देख कुछ भी एरर नहीं आया एंड दिस इज अ वैलिड वेरिएबल नेम इस तरीके का वेबल नेम आप बना सकते हो एक और चीज आप जब स्टार्ट करते हो जैसे मैंने बताया था यहां पर स्टार्ट आपको जब भी करना है तो आप एक लेटर से स्टार्ट करोगे अंडरस्कोर से स्टार्ट करोगे या फिर डॉलर से स्टार्ट करोगे नंबर से आप स्टार्ट नहीं कर सकते सेकंड मार्क्स जो मैंने बताया था यू कैन नॉट डू दैट इंट सेकंड मार्क्स नहीं अलाउड नहीं है लेकिन आप यह कर सकते हो इन अ डॉलर मार्क्स दिस इज अलाउड ठीक है तो दीज आर ऑल वेरी वैलिड वेरिएबल नेम्स उसके बाद यू कैन नॉट यूज़ अ कीवर्ड एज वेरिएबल नेम इसका मतलब कीवर्ड कौन-कौन से हैं ये सारे आपके कीवर्ड्स हैं याद आ रहे होंगे आपको ठीक है इनमें से हमने काफी सारे कीवर्ड देखे थे जैसे स्टैटिक कीवर्ड है सपोज करो आपका मन करता है कि मुझे स्टैटिक कीवर्ड नाम का बनाना है इन स्टैटिक इ 12 तो यह भी अलाउड नहीं है क्योंकि जावा ने बोला भाई सुनो य स्टैटिक जो है ना ये हमारे ऊपर छोड़ दो य हमारे लिए कुछ स्पेशल कीवर्ड है जिनका हम यूज करेंगे आपके लिए ही ठीक है बट इनको यूज मत करो प्लीज ठीक है य लिखा हुआ है डोंट यूज दिस मैं य पर लिख देता हूं डू नॉट यूज एस वेरिएबल नेम्स डू नॉट यूज एस वेरिएबल नेस इनका यूज मत करो इसके अलावा कुछ और यूज करना है तो वो यूज कर लो जैसे आप दिस यहां पर लिखा हुआ इसका यूज मत करो कभी आपको स्विच नाम का रिबल नेम बनाना है मत बनाओ क्योंकि स्विच एक कीवर्ड है आप बो भया पता कैसे चलेगा मुझे क्या मुझे कीवर्ड स सारे रटने पड़ेंगे नहीं रटने की जरूरत नहीं है धीरे धीरे करके आप देखोगे आपको याद होने लग जाएंगे अपने आप जैसे जैसे करके हम आगे बढ़ रहे होंगे वैसे वैसे करके आपको याद होते जाएंगे स सारे कीवर्ड्स तो डोंट वरी रटना मत लेकिन ठीक है तो यस इस स्टैटिक को नहीं रख सकते लेकिन आप चाहो तो ऐसा कुछ रख सकते स्टैटिक टू ठीक है या फिर टिक वर्ड दिस इज अलाउड ठीक है तो इस तरीके से आप वेरिएबल नेम बना रहे होते हो तो दिस वाज ऑल अबाउट वेरिएबल नेम समझ में आ रहा होगा वेरिएबल नेम की जरूरत क्यों होती है बेसिकली आप नहीं चाहते मेमोरी के अंदर कोई चीज खो जाए आपने जो भी यहां पर इक्वल के बाद डेटा रखा हुआ है आप नहीं चाहते ये डेटा खो जाए और आप इस डेटा को एक्सेस कैसे करोगे इस नाम के थ्रू ये जो नाम है यही आपका बेसिकली वेरिएबल होता है अब आगे मूव करते हैं डेटा टाइप्स जैसे मैंने बताया था आपको यहां पर मैंने इंट लिखा हुआ है लेकिन इंट सिर्फ ल डेटा टाइप नहीं होता आपके पास मल्टीपल टाइप के डटा टाइप होते हैं इंट होता है फ्लोट होता है कैर होता है मैंने यहां पर बढ़िया-बढ़िया बकेट्स आप लोगों के लिए बना रखी है ताकि आपको एक बहुत बढ़िया कांसेप्ट है वो समझ में आए मैं बताता हूं तो बेसिकली डटा टाइप का मतलब यह है कि आप जावा के अंदर मल्टीपल अलग-अलग टाइप का डाटा स्टोर कर सकते हो बेसिकली आप चाहो तो फोर स्टोर कर सकते हो 12 स्टोर कर सकते हो ये तो आपके इंटी जर हो गए लेकिन आप चाहते हो 3.14 स्टोर करना या फिर आप चाहते हो कोई करैक्टर जैसे कि मुझे a स्टोर करना है या फिर मुझे ट्रू फॉल्स वैल्यू स्टोर करनी है ये सब वैल्यू मैं कैसे स्टोर कर सकता हूं तो ये सब के लिए अलग-अलग टाइप के डेटा टाइप चाहिए आपको और ये सारी सारी जो बकेट्स है ना वो यही डिनोट कर रही है कि आपके पास अलग-अलग साइज की अलग-अलग टाइप की बकेट सेही है ठीक है तो बहुत सुंदर सुंदर बकेट बना रखी है पहले तो ये चार बाइट की बकेट है फ्लोट आपका चार बाइट का होता है कैरेक्टर आपका दो बाइट का होता है इस तरीके से मल्टीपल अलग-अलग बकेट्स के अंदर अलग-अलग टाइप का डटा और अलग-अलग साइज का डाटा भी स्टोर कर सकते हैं ठीक है बाइट होता है एक बाइट का शॉर्ट होता है दो बाइट का लॉन्ग होता है आठ बाइट का इस तरीके से अलग-अलग टाइप के इसमें बकेट्स होते हैं इन सब की साइज को भी हम पढ़ते हैं तो यहां पर आप देख सकते हो एट टाइप ऑफ डाटा टाइप्स एंड दीज आर कॉल्ड प्रिमिटिव डाटा टाइप्स ठीक है प्रिमिटिव प्रिमिटिव क्यों क्योंकि आपकी जावा के अंदर और भी डेटा टाइप होते हैं विच आर कॉल्ड नॉन प्रिमिटिव डेटा टाइप प्रिमिटिव मतलब प्रिमिटिव जैसे आप ह्यूमंस में समझ सकते हो ह्यूमंस प्रिमिटिव कौन से थे जो वो स्टोन एज वाले ह्यूमंस थे प्रिमिटिव ह्यूमंस ठीक है प्रिमिटिव वो हो है जो कि बेसिक बिल्डिंग ब्लॉक बनते हैं दूसरे डेटा टाइप का प्रिमिटिव से नॉन प्रिमिटिव डेटा टाइप बनते हैं ठीक है तो मल्टीपल प्रिमिटिव डेटा टाइप्स को मिला के नॉन प्रिमिटिव बनते है लेकिन प्रिमिटिव मतलब कि जावान इनका सपोर्ट तो दे ही रखा है जावा बोलता है कि देखो भाई ये आठ ट टाइप तो आपको हमेशा मिलेंगे ही कभी भी आ जाओ हमारे पास ये आठ आपको हमेशा मिलेंगे ठीक है बोलियन जिसके अंदर आप ट्रू फॉल्स वैल्यू स्टोर कर सकते हो बाय डिफॉल्ट इसके अंदर फॉल्स वैल्यू स्टोर होगी इसका मतलब अगर आपने कभी ऐसा वेरिएबल बना दिया कि बुलियन मार्क्स बस बना के छोड़ दिया आपने तो बोलियन मार्क्स आपने जब बना के छोड़ दिया ना तो उसके अंदर बाय डिफॉल्ट फॉल्स स्टोर्ड होगा अगर आप इसके अंदर वैल्यू बाद में स्टोर कर देते कुछ जैसे कि आपने सपोज करो ऐसे नहीं बनाया मार्क्स इक्वल टू आपने ट्रू कर दिया तो अब इसके अंदर ट्रू स्टोर्ड है अच्छा यहां पर एक और इंपोर्टेंट चीज सेमीकलन सेमीकलन हमें लगाने होते हैं हर एक्सप्रेशन के बाद सेमीकलन लगाने होते हैं आप देख रहे हो यहां पर मैंने एक सेमीकलन लगाया यहां पर सेमीकलन लगाया यहां सेमीकलन लगाया है तो हर लाइन के बाद सेमीकलन लगाया है क्योंकि ये एक्सप्रेशन का एंड डिनोट करता है जावा के अंदर लेकिन आप बोलेगे भाई यहां सेमीकलन क्यों नहीं लगाया आपने यहां भी तो लगाना चाहिए मैं बोलूंगा नहीं यहां पर सेमीकलन नहीं लगाने है बिकॉज दिस इज नॉट एन एक्सप्रेशन दिस इज स्टार्टिंग ऑफ अ ब्लॉक तो आपको धीरे-धीरे समझ में आएगा कि देखो यहां पर मैं सेमीकलन नहीं लगाना है सिमिलरली यहां सेमीकलन नहीं लगाना है तो बेसिकली जब भी एक एक्सप्रेशन खत्म हो है दिस इज कॉल्ड एक्सप्रेशन स्टेटमेंट इन स्टेटमेंट्स के बाद आपको सेमीकलन लगाना होता है इसलिए मैंने यहां पर भी एक सेमीकलन लगाया ठीक है तो आदत हो जाती है अपने आप आपको कहां कहां आपको सेमीकलन लगाना है तो यस बुलियन यहां पर देखो बुलियन लिखा हुआ है दिस इज बुलियन ठीक है इसके अंदर आपके टू या फॉल्स वैलू स्टोर हो सकती है उसके बाद अगला है आपका बाइट बाइट के अंदर आपके छोटे नंबर स्टोर हो सकते हैं -18 से लेकर 127 तक अगर आपको पता है कि इस वेरिएबल के अंदर बहुत बड़ा नंबर स्टोर नहीं होगा इस वेरिएबल के अंदर इस रेंज के बीच का ही नंबर स्टोर हो सकता है तो आप उसको शॉर्ट बाइट में डाल सकते हो ठीक है अगला होता है शॉर्ट जो कि - 32768 से लेकर ् 32768 तक के नंबर ही स्टोर कर सकता है और ये आपका दो बाइट का होता है इंट आपका चार बाइट का होता है अगर ये आपको बिट्स और बाइट समझ में नहीं आ रहे ना कि बिट्स और बाइट्स ये सब क्या होता है तो हम इनको अगली क्लास में पढ़ रहे होंगे प्रॉपर बाइनरी नंबर सिस्टम पढ़ रहे होंगे कि कैसे बिट्स और बाइट्स काम करती है कैसे आप बोल सकते हो कि दो बाइट के अंदर सिर्फ यहां से लेकर यहां तक का ही नंबर आ सकता है तो ये सब टेंशन मत लो ये सब हम पढ़ रहे होंगे अगली क्लास के अंदर जहां पर हम बेट्स एंड बाइट पढ होंगे अभी फिलहाल वही नी ऑफ फेथ लेके चल ना है हम आगे ठीक है लंग के अंदर आपके बड़े-बड़े नंबर स्टोर हो सकते हैं यहां पर देख कितना बड़ा ंबर हैय बेसिकली -9 न 10 पावर 18 से लेकर प् 9 * 10 पावर 18 तक यह नंबर जा सकता है तो बहुत ही बड़ा नंबर आपको जब स्टोर करना है तो आप उसको इस लंग में स्टोर कर सकते हो तो जरा इनको चला के देखते हैं एक बार य कैसे काम करते हैं तो उसके लिए मैं क्या करूंगा ना एक नई फाइल बना लूंगा यहां पर सोर्स के अंदर आऊंगा मैं राइट क्लिक करूंगा अगेन न्यू क्लास और इसका नाम मैं रख देता हूं वेरिएबल और इसके अंदर में आके अगेन पब्लिक स्टैटिक वॉइड बनाना उसके लिए क्या करेंगे पी एसवी एम ट टब और पब्लिक स्टिक वड हमारा फंक्शन बन चुका है य पर ठीक है इस तरीके से आप बना रहे होते उसके बाद मुझे अलग अलग टाइप डेटा टाइप बनाने तो बुलियन मुझे स्टोर करना जसे सपोज करो मुझे स्टोर करना है किय बंदा फेल है कि पास है तो मैं स्टोर करूंगा ऐसे बुलियन इज पास्ट इक्वल टू ट्रू तो जब भी आप ब वेल बनाते तो ली कन्वेंशन ये होता है कि आप इज लगा रहे होते हो बिकॉज मीनिंगफुल नेम बनाना है ना आपको वेरिएबल नेम तो इज मतलब बता रहे कि क्या सही में पास्ट है या नहीं है तो इज पास्ट बता रहा है कि इसके अंदर या तो ट्रू या फाल्स वैल स्टोर होगी ठीक है सिमिलरली आपको इंट बनाना है तो इंट काउंट इक्वल्स टू लेट्स से 12 लेकिन इंट के अलावा आपके पास होता है बाइट बाइट अ मार्क्स इक्वल्स टू लेट्स से 13 तो यहां पर मार्क्स के अंदर आप सिर्फ 13 ही स्टोर कर सकते हो अब ये भैया बना बना के फायदा क्या है इनका मैं बना तो जा रहा हूं लेकिन फायदा क्या है तो आप इनको एक्सेस कर सकते हो बाद में कभी जैसे आप इनके अंदर इनके अंदर अभी हम देखेंगे ऑपरेशन करना अगली क्लास में कि आप कैसे ऑपरेशन कर सकते हो लेकिन आप इनको प्रिंट तो कर ही सकते हो तो मैं करूंगा एस आउट हिट टैब तो उससे हमारी ये लाइन प्रिंट हो जाती है सिस्टम डड प्रिन अच्छा प्रिंट एलन के अंदर भी दो चीज होती है जैसे यहां पर प्रिंट एलन है तो इसका मतलब होता है न्यू लाइन अगर आप न्यू लाइन नहीं लगाओगे तो आपकी एक नई लाइन नहीं बनेगी जैसे सपोज करो मैंने यहां पर प्रिंट किया काउंट को उसके बाद मैंने दोबारा एसा आउट बनाया और इसके अंदर मैंने लिखा मार्क्स और इसके अंदर से मैं दोबारा से एलन हटा देता हूं तो मैंने सिर्फ सिस्टम डॉट प्रिंट लिखा हुआ है इसको मैं जब रन करूंगा तो आप देखोगे ये वाली चीजें दोनों की दोनों चीजें एक ही लाइन में प्रिंट हो जाने वाली है रन करने के लिए अगेन इस ग्रीन बटन पर क्लिक करना है वेरिएबल ड मेन तो आप देखोगे यहां पर 12 13 एक ही लाइन में प्रिंट हो गया है आप ऐसा नहीं चाहते थे आप चाहते थे न्यू लाइन के अंदर प्रिंट करना तो उसके लिए आपको यहां पर लिखना पड़ेगा प्रिंट एल ए इसका मतलब कि काउंट जब प्रिंट हो जाए तो उसके बाद एक न्यू लाइन भी लगा देना है एंड में तो अब आप देखोगे यहां पर जब काउंट इसने प्रिंट कर दिया 12 तो उसके बाद इसने एक न्यू लाइन भी यहां पर लगा दिया और इसलिए 1 जो है वो नई लाइन में प्रिंट हो रहा है ठीक है तो यस आप इस तरीके से वेरिएबल को यूज कर पा रहे हो आपको याद र होगा बाइट के अंदर मैंने बोला था कि एक बाइट है और इसके अंदर -17 से लेकर + 127 तक की वैल्यू स्टोर हो सकती है लेकिन आप बोलोगे भैया मुझे नहीं मुझे इससे बड़ी वैल्यू स्टोर करनी है -18 से लेकर प् 127 तक सॉरी आप बोलोगे नहीं मुझे इससे बड़ी वैली स्टोर करनी है बाइट के अंदर तो मैं कैसे स्टोर करूंगा मैं बोलूंगा कर ही नहीं सकते सपोज करो आपको 1300 स्टोर करने का मन कर रहा है इसके अंदर कर ही नहीं सकते आप इसको स्टोर ठीक है यहां पर देखो एरर भी आ गया ये कह रहा है रिक्वायर्ड टाइप बाइट प्रोवाइडेड टाइप जावा ने खुद ही यहां पर कंपाइल टाइम पर आपको एरर दे दिया इसको आप रन करके देखो आपका यहां पर प्रिंट होने वाला है कि यह तो लॉसी कन्वर्जन हो रहा है ठीक है अभी हम पढ़ेंगे वैसे कि ये लॉसी कन्वर्जन क्या होता है किस तरीके से डेटा टाइप कन्वर्जन होता है अभी इसी क्लास में पढ़ रहे होंगे बट यस दिस इज कंसीडर्ड एस इंट कि आप इंट को स्टोर कर रहे हो बाइट के अंदर नॉट अलाउड ठीक है नॉट अलाउड तो बाइट के अंदर जो हम नंबर स्टोर कर सकते हैं वो बाइट की रेंज के अंदर ही होने चाहिए जैसे कि -18 से लेकर 127 तक उसके बाद अगला आता है शॉर्ट शॉर्ट के अंदर आपके इतने ने नंबर इस रेंज के नंबर ही आप स्टोर कर सकते हो तो आप लिख सकते हो शॉर्ट स्टूडेंट्स काउंट इ टू लेट्स से इतना बड़ा नंबर आपने स्टोर कर लिया इसके अंदर इसके अलावा हमारे पास होता है लॉन्ग जिसके अंदर आप बहुत बड़ा नंबर स्टोर कर सकते हो फ्लोट जिसके अंदर आप फ्लोटिंग पॉइंट नंबर स्टोर कर सकते हो जैसे कि आपको सपोज करो ऐसा कुछ स्टोर करना है फ्लोट पाई = 3.14 इस तरीके से तो ये आप स्टोर कर पा रहे हो लेकिन आप बोलो भैया मैंने फ्लोट के अंदर फ्लोटिंग नंबर स्टोर किया बट तब भी यहां पर नीचे एरर आ रहा है और एरर में आप देख सकते हो लिखा आ रहा है रिक्वायर्ड टाइप फ्लोट है प्रोवाइडेड टाइप डबल है आप बोलोगे डबल कैसे हो गया डबल तो अलग होता है मतलब डबल तो ये हो गया डबल भी यहां पर देखो लिखा हुआ है ठीक है डबल डबल एक बड़ा फ्लोटिंग पॉइंट नंबर होता है जिसके अंदर सफिशिएंट फॉर स्टोरिंग 15 डे डेसिमल डिजिट तो अगर आपको बहुत ज्यादा प्रेसा होना है तो आप डबल यूज करोगे अगर आपको कम प्रेसीजन में भी काम चल जाएगा तो आप वहां पर फ्लोट यूज कर सकते हो फ्लोट के अंदर आपके सिक्स टू सेवन डेसीमल डिजिट होते हैं तो बाय डिफॉल्ट जब आप कोई भी नंबर बनाते हो ना इस तरीके से 3.14 आप लिखते हो तो ये आपका डबल ही बन रहा होता है आप बोलोगे नहीं मुझे तो फ्लोट बनाना है तो उसके लिए मैं क्या करूंगा तो उसके लिए आपको एक लिटरल यूज करना पड़ेगा व्हिच इज एफ ठीक है आपने नंबर के आगे एफ लिख दिया टू डिनोट जावा को बताने के लिए कि नहीं भाई यह नंबर मेरा फ्लोट ही है इसको डबल की तरह ट्रीट मत करो और इसको आप इसे फ्लोट के अंदर ही स्टोर करो अगर आप ये एफ नहीं लगाओगे ना तो ये बाय डिफॉल्ट आपका डबल बन जाएगा ठीक है तो जावा इसी तरीके से काम करता है जावा बोलता है कि बाय डिफॉल्ट जो आपके डेसीमल नंबर हो वो डबल होते हैं उनको अगर आपको फ्लोट बनाना है तो इस तरीके से आपको यहां पर एफ वाला लेटर लगाना पड़ेगा सिमिलरली यहां पर अगर मैं बनाता हूं सेकंड पायर और सपोज कर इसके अंदर स्टोर करता हूं 3.14 तो यहां पर एरर नहीं आएगा क्योंकि यह तो बाय डिफॉल्ट डबल है ही ठीक है और अगर आप इसको प्रिंट करोगे ना अभी य पर इस पाई को अगर आप प्रिंट करके देखोगे य प ए आउ एक काम करते काउंट को प्रिंट नहीं करते य प्रिंट करते हैं पाई को और यहां नीचे प्रिंट करते है सेकंड पाई को और इसको रन करके देखते हैं तो यहां पर देख लो दोनों ही जगहो पर हमने 3.14 3.14 य प्रिंट हो रहा है क्योंकि आपने इसी प्रेसीजन के साथ इसको यहां पर स्टोर किया हुआ है लेकिन आपको पता है कि डबल है तो डबल के अंदर हमारे ये 15 डेसीमल डिजिट तक हम जा सकते हैं इसके अंदर तो यहां पर आप बड़े लंबे ऐसे भी डबल बना सकते हो एंड दिस इज आल्सो अलाउड दिस विल वर्क आप रन करके देखो यह आपका यहां पर दिखेगा आपको लेकिन अगर आप इस चीज को फ्लोट में डाल दोगे यहां पर और आप इसके आगे लगा दोगे एफ तो ये आपको इतने सारे नहीं दिखने वाले यहां पर ठीक है इसमें से सिर्फ सात दिखाई देंगे आपको ये देखो इसने अपने आप ही इसको राउंड ऑफ कर दिया है क्योंकि फ्लोट की औकात ही नहीं है फ्लोट के अंदर इतने बड़े नंबर आई सकते ठीक है फ्लोट एक छोटी बकेट है वहीं पर डबल एक बड़ी बकेट है तो डबल के अंदर इतनी प्रेसीजन वाले नंबर भी आ सकते हैं तो इस तरीके से हमारे ये सारे काम करते हैं अब एक बच जाता है चच इज कैर कैर होता है कैरेक्टर्स को स्टोर करने के लिए अगर आपको ए बी सी डी या फिर कोई भी सिंगल कैरेक्टर स्टोर करना है जावा के अंदर यूनिकोड कैरेक्टर्स होते हैं बेसिकली तो आप इस तरीके से करैक्टर स्टोर कर सकते हो इसके अंदर कैर माय लेटर इक्व टू a ठीक है तो कैपिटल ए आपको अगर करैक्टर स्टोर करना है तो आप डायरेक्टली आप ऐसे नहीं लिख सकते a ये काम नहीं करेगा जावा के अंदर नहीं जावा के अंदर आपको कैरेक्टर बनाने है तो उसको आपको इन लिटरल्स के अंदर डालना पड़ेगा विच आर सिंगल कोड्स यहां पर एक और कचा वो ये है कि सिंगल कोट्स के अंदर आपके करैक्टर होते हैं वहीं पर डबल कोट्स के अंदर आपकी स्ट्रिंग होती है तो जब आप चीजों को ऐसे सिंगल कोट्स में लिख रहे हो तो दिस इज योर कैरेक्टर लेकिन अगर आप इसको ऐसे लिखते हो डबल कोट के अंदर ए लिखते हो तो अब ये स्ट्रिंग बन जाएगा और क्योंकि ये स्ट्रिंग बन चुका है तो इसलिए करैक्टर के अंदर स्टोर नहीं हो सकता इसलिए यहां पर एरर भी आ रहा है अगर आपको कोई भी कैरेक्टर स्टोर करना है तो उसके लिए आपको लगाना पड़ेगा इस तरीके से सिंगल कोड और उसके अंदर आप ऐसे लिख सकते हो ए तो दिस इज वैलिड नाउ और अगर आप इसे प्रिंट करके देखोगे यहां पर तो इस ला लाइन को अगर मैं यहां पर नीचे लेके जाता हूं और अब मैं यहां पर प्रिंट करता हूं माय लेटर एक इंपॉर्टेंट चीज यहां पर वो भी समझने वाली यह है कि आपने अगर इस माय लेटर वाली लाइन को बनाया नीचे है और प्रिंट आप इसे ऊपर करने का ट्राई कर रहे हो तो यहां पर एरर मिल जाएगा ठीक है जवा ऊपर से नीचे चलता है जवा ऊपर से नीचे चलता है तो वो देखता कि माय लेटर तो मुझे मिला ही नहीं अभी तक और ये माय लेटर प्रिंट करवा रहा है ऐसे कैसे हो सकता है ठीक है तो यह नहीं काम करेगा इसको यहां से हटा देता हूं मैं ठीक है तो एक एक्स्ट्रा चीज मैंने बताया यहां प आपको कि यह चीज पहले लिखनी है आपको तभी काम करेगा अब हम इसे रन करते हैं ठीक है तो रन करने के लिए रन और आप यहां पर देख सकते हो कि आपका जो लेटर है वो यहां पर प्रिंट हो रहा है ए यहां पर लग चुका है वो इसलिए क्योंकि प्रिंट एलन नहीं लगाया मैंने यहां पर प्रिंट एलन लगाकर दोबारा से रन करते हैं इसको और अब हमारा ए यहां पर प्रिंट हो रहा है इस कैरेक्टर के अंदर आप ए बी सी डी डॉलर साइन कुछ भी आप डालोगे ये सब काम करेगा बिकॉज दीज आर ऑल कैरेक्टर्स इन सभी का एस काई वैल्यू डिफाइंड है बेसिकली एस काई वैल्यू क्या होता है कि हर एक कैरेक्टर की एक पोजीशन है वो डिफाइंड हो रखी है बिल्कुल स्टैंडर्ड पोजीशन है जो कि हर प्रोग्रामिंग लैंग्वेज को डिफाइन करनी जरूरी है तो सिमिलरली जावा ने भी डिफाइन कर रखा है कि दीज आर ऑल कैरेक्टर्स ये भी कैरेक्टर है हमारा ट द रेट भी कैरेक्टर है इसके अलावा दो तीन कैरेक्टर आप नहीं डाल सकते सिर्फ एक ही कैरेक्टर डाल सकते हो सिर्फ ठीक है यहां पर आपको एरर मिलेगा टू मेनी कैरेक्टर्स का हर करोगे टू मेनी कैरेक्टर्स इन कैरेक्टर लिटरल ये आप सिंगल कोड जो है ये आपका कैरेक्टर लिटरल होता है और इसके अंदर आप एक ही कैरेक्टर डाल सकते हो तो दीज आर ऑल कैरेक्टर्स आप यहां पर 1 2 3 स्मल ए कैपिटल ए कुछ भी डालोगे दीज आर ऑल कैरेक्टर्स तो ये हमारे हो गए डेटा टाइप्स अब अगला मूव करेंगे व्हिच इज डेटा टाइप इंपलीसिट कन्वर्शन तो डेटा टाइप से आप एक डेटा टाइप से दूसरे डेटा टाइप में कन्वर्ट कर सकते हो चीजों को बेसिकली आप बोल रहे हो कि ये जो मैंने डाटा पहले यहां पर इंट में स्टोर कर रखा था अब मैं इसे इंट में स्टोर नहीं करना चाहता अब मैं इसको लॉन्ग में स्टोर करना चाहता हूं कि ये जो इंट वाला डाटा था मैं इसको बड़ी बकेट में स्टोर करना चाहता हूं तो य कैन डू दैट ठीक है छोटी बकेट के चीजों को आप बड़ी बकेट में इजली स्टोर कर सकते हो ये तो आपको भी पता है कि कोई छोटा आम है जो छोटी बकेट में आ रहा था वो छोटा वाला आम बड़ी वाली बकेट के अंदर भी आ जाएगा जिसके अंदर बड़े-बड़े आम स्टोर हो रहे हैं ये तो आसान काम है राइट छोटी चीजों को आप इजली बड़ी चीजों में डाल सकते हो इसीलिए इसे हम कहते हैं इंपलीसिट कन्वर्शन कि ये तो डायरेक्टली हो जाएगा इंप्ली मतलब डायरेक्टली या फिर इसे एक और चीज कहते हैं वो होता है वाइड निंग ठीक है वाइड निंग आपकी इजली हो जाती है वाइड निंग आपकी बाय डिफॉल्ट हो रही होती है यहां पर देखो वाइट कैन बी कन्वर्टेड टू शॉर्ट शॉर्ट कैन बी इजली कन्वर्टेड टू इंट देख रहे हो शॉर्ट के अंदर जो चीज है शॉर्ट के अंदर आपके - 32000 से लेकर + 32000 तक नंबर आ रहे होते हैं सपोज करो शॉर्ट के अंदर एक नंबर है 30000 इस नंबर को मैं इजली इंट में डाल सकता हूं राइट क्योंकि इंट के अंदर तो बड़े-बड़े नंबर स्टोर होते हैं इसलिए छोटी बकेट का डाटा को आप इजली बड़ी बकेट में डाल सकते हो और इंट के डाटा को आप इली लॉन्ग में डाल सकते हो दीज आर इंपलीसिट कन्वर्जन एंड दिस कैन बी डन डायरेक्टली इसके लिए आपको कुछ भी एक्स्ट्रा लिखने की नहीं पड़ती है तो ये कैसे काम करते हैं तो यहां पर देखो आपने सपोज करो एक नंबर स्टोर किया था इंट के अंदर ठीक है इंट काउंट इ 12 आप चाहते हो कि नहीं मुझे इसको लॉन्ग में स्टोर करना है तो अगर आपको यहां पर डेटा टाइप कन्वर्जन करना है तो कैसे करोगे आप बोलोगे लॉन्ग काउंट लॉन्ग इक्वल टू काउंट इस तरीके से तो यहां पर हुआ क्या बेसिकली मैंने क्या किया इस काउंट के अंदर जो डाटा था इंट के अंदर जो डाटा था उसको मैंने इजीली उठा के इस लॉन्ग में डाल दिया है यहां पर जो वार्निंग आ रही है वो आई थिंक इसलिए आ रही है क्योंकि ये रिडंडेंट है रिडंडेंट काउंट वेरिएबल ये बेसिकली बोल रहा है कि भाई ये काउंट बनाने की जरूरत ही क्या आती है जब आपको काउंट में डाल के सीधा लॉन्ग में डालना था तो ठीक है बट इसको आप इग्नोर कर सकते हो लेकिन यहां पर हम एक चीज समझ पा रहे हैं कि इंट के अंदर जो डाटा है वो इजली लॉन्ग के अंदर जा सकता है लेकिन उल्टा करना पॉसिबल नहीं है ठीक है उल्टा डायरेक्टली करना पॉसिबल नहीं है उसे हम एक्सप्लीसिटली कर रहे होंगे लेकिन वो कैसे होता है मैं जरा एक बार करके दिखाता हूं आपको सपोज करो मैंने लॉन्ग में इसको स्टोर किया हुआ था लॉन्ग के अंदर मैंने काउंट डाल रखा था 12 और अब मैं इसको इंट में डालना चाहता हूं कि इंट काउंट इंट तो यहां पर आप देख रहे हो हो क्या रहा है मैंने एक लॉन्ग बनाया य बड़ा वाला बड़ी बकेट के अंदर डाला हुआ है मैंने 12 को आप बोलोगे भ 12 तो बहुत छोटा नंबर है ये क्यों नहीं चला जाता 12 तो जा ही सकता है एंट के अंदर मैं बोलूंगा नहीं नहीं जा सकता क्यों क्योंकि 12 ने जो जगह ले रखी है ना वो इसने ले रखी है प्रॉपर 8 बाइट्स की 12 आपका छोटी बाइट्स में स्टोर नहीं है एक दो बाइट के अंदर स्टोर नहीं है 12 आपका प्रॉपर 8 बाइट्स के अंदर स्टोर्ड है तो वो कैसे चला जाएगा फोर बाइट की जगह के अंदर ठीक है यहां पर आपका लॉस कन्वर्जन हो रहा है तो यह ऐसे कन्वर्ट नहीं होगा सीधा यहां पर आपको बताना पड़ेगा सुनो आप इसे कन्वर्ट कर दो एंड दिस इज कॉल्ड एक्सप्लिसिट टाइप कन्वर्शन एक्सप्लिसिट टाइप कन्वर्शन के लिए आपको ऐसे करना पड़ता है पहले आपको पेंसिस लगाने पड़ते हैं उसके आगे आपको लगाना होता है इ इस तरीके से एक्सप्लीसिटली आप बता रहे हो कि ये जो काउंट की वैल्यू है मुझे पता है लॉन्ग है लेकिन मैं इसको इंट में कन्वर्ट करना चाहता हूं इसके बाद अगर डाटा लॉस होता है तो वो मेरी जिम्मेदारी है कोई दिक्कत वाली बात नहीं है लेकिन आप मुझे करने दो ये चीज ठीक है तो जावा आपको यहां पर वर्न कर रहा है कि भाई आप किसी बड़ी चीज को छोटी चीज में डा का ट्राई कर रहे हो ये अलाउड नहीं है ये एक एरर है ठीक है लेकिन आप इसको एक्सप्लीसिटली बता सकते हो कि नहीं कोई दिक्कत नहीं है मैं इसकी टेंशन लेता हूं तो आप ऐसे एक्सप्लीसिटली से बता सकते हो और अब आप लॉन्ग को भी इंट में कन्वर्ट कर सकते हो दैट इज फाइन तो यहां पर सिंपल सी चीज है कि आप इस डायरेक्शन में तो जा सकते हो जो डायरेक्शन यहां पर जो एरो बना रखे है ना मैंने कि आप बाइट को शॉर्ट में शॉर्ट को इंट में इंट को लॉन्ग में इजली कन्वर्ट कर सकते हो लॉन्ग को फ्लोट में कन्वर्स कर सकते हो फ्लोट को डबल में कर सकते हो लॉन्ग को डबल में कर सकते हो दीज आर ऑल अलाउड लेकिन उल्टी डायरेक्शन जाना अलाउड नहीं है मतलब अगर आप बोलो कि इंट से मुझे शॉर्ट में कन्वर्ट करना है या फिर लॉन्ग से इंट में कन्वर्ट करना है तो ये डायरेक्टली अलाउड नहीं है बट आप एक्सप्लीसिटली बोल सकते हो एक्सप्लिसिट कन्वर्शन इज अलाउड तो यहां पर जैसे आपको याद होगा बाइट के अंदर आपके -18 से लेकर + 27 तक नंबर जा सकते हैं राइट और मुझे पता है कि सपोज करो मैंने एक इंट बनाया मैं यहां पे नीचे एक अलग एग्जांपल लेता हूं समझ में आएगा आपको कि सपोज करो मैंने यहां पे इंट बनाया इंट एज इक्वल टू सपोज करो बहुत बड़ी एज है 150 जज है ठीक है अब मैं इसको बाइट में डालना चाहता हूं तो बाइट न्यू एज इक्वल टू एज अगर मैंने ये किया तो यहां पर एरर आ रहा है क्यों क्योंकि इंट एक बहुत बड़ा नंबर था और उसको मैं छोटी जगह पर डालने का ट्राई कर रहा हूं लेकिन मैं बोलता हूं कि कोई दिक्कत नहीं है आने दो इसको बाइट में कन्वर्ट कर दो ठीक है इस तरीके से मैंने यहां पे एक्सप्लिसिट टाइप कन्वर्शन कर दिया एक्सप्लिसिट टाइप कन्वर्शन करने के लिए आपको इस तरीके से ब्रैकेट लगाने होते हैं मैंने बोल दिया कि ठीक है एज जो 150 नंबर स्टोर करके रखी हुई है कोई बात नहीं उसे कन्वर्ट कर दो आप बाइट के अंदर अगर एरर आएगा या फिर कुछ भी लॉस लॉस होगा तो उसकी जिम्मेदारी मेरी है और आपको पता है कि यहां पर तो लॉस होने वाला है क्यों क्योंकि बाइट तो 127 तक ही जा सकता है और आप इसके अंदर 150 स्टोर कर रहे हो तो यहां पर कुछ ना कुछ डाटा मतलब डेटा के अंदर कुछ एनमल आने वाली है आप यहां पर प्रिंट करके देख सकते हो इसको एस आउट न्यू जज और अगर मैं इस यहां पर प्रिंट करूंगा न्यू एज को तो आप देखोगे न्यू एज प्रिंट हो रही है -106 अ ये -106 क्यों प्रिंट हो गया भैया मैंने तो 150 प्रिंट कराया था आपको पता बाइड प्रिंट करा रहे हो वो 128 से तो ज्यादा हो नहीं सकता लेकिन -106 क्यों प्रिंट हुआ यहां पे इसके पीछे क्या रीजन है तो यह सब आपको समझ में आएगा धीरे-धीरे करके एक्चुअली यहां पर डेसिमल नंबर्स की तरह चल रहा है ये तो आपको जो जगह मिली थी वो एक बाइट की मिली थी मतलब ए बिट्स की मिली थी अब उसके अंदर आपने बड़ा नंबर डाला तो वो रोटेट हो गया किसी तरीके से वो रोटेट किस तरीके से हुआ वो मैं आपको समझाऊ अगली क्लास के अंदर जहां पर हम डेसीमल पढ़ रहे होंगे बट या इस तरीके से अगर आप यहां पे एक छोटा नंबर स्टोर करते हो सपोज कर 10 स्टोर कर रहे हो तो 10 आपका 10 की तरह प्रिंट हो जाएगा ठीक है 10 में कोई दिक्कत नहीं है इवन 127 प प्रिंट करोगे तो वो भी चल जाएगा 127 तक अलाउड है लेकिन 127 के बाद जैसे आप 128 भी प्रिंट करने जाओगे ना तो यहां पे दिक्कत दे देगा आपको और यहां पे प्रिंट हो जाएगा -18 तो 127 के बाद जो भी आप प्रिंट करो हो वो दोबारा से -128 से स्टार्ट हो जाएंगे फिर -127 -16 फिर ध करके ़ आएंगे फिर रो के बाद दोबारा से 127 तक जाएंगे अगेन तो ये नंबर आपके इसी रेंज में घूमते रहेंगे चाहे आप कितना ही बड़ा नंबर यहां पर डाल दो इंट के अंदर वो नंबर आपका इसी रेंज में आ जाएगा तो इस तरीके से हमारे डेटा टाइप के अंदर कन्वर्जन हो रहे होते हैं दिस इज इंपलीसिट लेकिन मैंने आपको एक्सप्लिसिट वाला भी बता दिया एक्सप्लिसिट बताने के लिए आपको एक्सप्लीसिटली बताना होता है इस तरीके से कि मैंने कोई चीज बनाई है पहले इंट की इंट एज इक्वल टू 12 लेकिन अब मैं एक्सप्लीसिटली इसको कन्वर्ट कर रहा हूं शॉर्ट के अंदर तो मैं बताऊंगा शॉर्ट न्यू एज इक्वल्स टू ब्रैकेट के अंदर मैं लिखूंगा शॉर्ट जिस भी चीज के अंदर आप कन्वर्ट करना चाहते हो और इसको कन्वर्ट कर रहे हो आप एज को कन्वर्ट कर रहे हो इस तरीके से ठीक है तो दिस इज हाउ यू कन्वर्ट और यह आपने एक्सप्लीसिटली बताया यहां पर लिखा हुआ है इट इज डन मैनुअली बाय द प्रोग्रामर इफ य डू नॉट परफॉर्म कास्टिंग देन द कंपाइलर रिपोर्ट्स अ कंपाइल टाइम एरर अच्छा इस चीज को हम कहते हैं कास्टिंग ठीक है इसे हम कहते हैं कास्टिंग कि आप डेटा टाइप को कास्ट करो डेटा कास्टिंग कहते हैं इससे कि आप कास्टिंग मतलब क्या होता है मोल्डिंग राइट कास्ट कर रहे हो किसी चीज को तो आप किसी चीज को इंट से हटा के शॉर्ट में कास्ट कर दे रहे हो इसे तो इसे हम कहते हैं टाइप कास्टिंग ठीक है टाइप कास्टिंग कह लो या फिर टाइप कन्वर्जन कह लो बाद एक ही है सो दिस इज यू कन्वर्ट डेटा फ्रॉम वन डेटा टाइप टू अनदर डेटा टाइप इसके बाद अगली चीज पर मूव करते हैं व्हिच इज जावा कमेंट्स तो जावा कमेंट्स तो हम ऑलरेडी वैसे देख चुके हैं काफी बार कि जावा के अंदर आप चाहते हो कोई चीज जावा कंपाइलर रीड ना करें तो उसके लिए बस कुछ नहीं करना आपको उसके आगे लगाना है दो बार स्लैश इस तरीके से दो बार आपने ऐसे स्लैश लगा दी इसका मतलब जावा बोलेगा ठीक है इस चीज को मैं रीड नहीं करूंगा यहां पर देख लो ये थोड़ा ग्रे हो गया है इसका मतलब ये वाली लाइन जवा अब रीड नहीं करेगा कंपाइलर रीड नहीं करेगा अगर मैं रन करूंगा तो आप देखोगे न्यू एच जो पहले -18 प्रिंट हो रहा था वो प्रिंट नहीं होगा नीचे देखो -18 प्रिंट नहीं हुआ क्योंकि जावा ने उसको रीड नहीं किया तो इस तरीके से आप जावा के अंदर कमेंट्स बना सकते हो कमेंट्स बनाने के लिए आपको कुछ नहीं करना किसी भी चीज के आगे जाके आपको बस ऐसे डबल स्लैश लगा देना है इसको मैं लिख दूंगा टाइप कास्टिंग उसके बाद आप कुछ भी लिख सकते हैं यहां पे ठीक है बिकॉज ये तो जावा रीड कर नहीं रहा राइट तो मैं ये बेसिकली यूज क्यों किया जाता है कमेंट्स का कमेंट्स यूज इसलिए किया जाता है ताकि आप किसी और प्रोग्रामर को बता सकते या फिर आप अपने आप को बता सको फ्यूचर में कि ये चीज मैंने क्यों लिखी है यहां पर तो मैं यहां पर बता सकता हूं कि दिस से टाइप कास्टिंग ठीक है तो इस तरीके से कमेंट्स की हेल्प से हम दूसरे प्रोग्रामर्स को या फिर अपने कोड को मोर रीडेबल बना सकते हैं इन कंप्यूटर प्रोग्रामिंग कमेंट्स आर अ पोर्शन ऑफ द प्रोग्राम दैट आर कंपलीटली इग्नोर बाय जावा कंपाइलर्स दे आर मेनली यूज्ड टू हेल्प प्रोग्रामर्स टू अंडरस्टैंड द कोड तो आपने कोई बहुत बड़ा सा कोड लिखा हुआ है बहुत कुछ लिखा हुआ है उसके अंदर तो उसके अंदर अगर आप कमेंट्स लगाते चलोगे ना तो दूसरे लोगों को समझ में आएगा कि अच्छा इस लाइन का मतलब ये है इस लाइन का मतलब ये है और इसके अलावा जावा को कमेंट लिखने के भी दो तरीके होते हैं या तो आप ऐसे डबल स्लैश लगा के कमेंट लगा सकते हो या फिर आप इस तरीके से भी मल्टीलाइन कमेंट लगा सकते हो मल्टीलाइन कमेंट के मल्टीपल फायदे होते हैं कि आपको बार-बार हर लाइन में जाके जैसे मुझे ये सपोज करो ये सारी लाइनों पर कमेंट लगाने है तो मैं क्या करूंगा या तो मैं यह कर सकता हूं यहां पर आऊंगा यह लगाऊंगा यहां पर आऊंगा यह लगाऊंगा राइट मुझे बारबार मेहनत करनी पड़ रही है तो मैं यह ना करके एक और तरीका कर सकता हूं वो यह कि मैं आऊंगा यहां पर ठीक है इस लाइन से पहले कहीं भी आ जाओ और यहां पर लगाओ ये स्लैश उसके बाद ये स्टार ठीक है तो यहां से देखो सारी चीजें कमेंट हो चुकी है लेकिन जहां तक मुझे कमेंट करना है सपोज करो मुझे चार लाइन कमेंट करनी थी तो इन चार लाइन के बाद में आऊंगा अब मैं यहां पर लिखूंगा स्टार और फिर ये स्लैश वापस इस तरीके से ठीक है इस तरीके से मैंने इसके बीच में जो भी लिखा है वो सब कुछ कमेंट हो चुका है तो इस इस तरीके से आपकी मल्टीपल लाइन में कमेंट लग रहा होता है अच्छा इंटेलिजेंस के अंदर एक और खास बात है इंटेलीज के अंदर ये कि आप चाहो तो शॉर्टकट यूज करके भी कमेंट कर सकते हो किसी लाइन को तो आपको करना क्या है कमांड स्लैश जिस भी लाइन पे आप उस लाइन प लगाओ कमांड स्लैश उससे वो लाइन के आगे अपने आप ये दो स्लैशेस लग जाए ठीक है कमांड स्लैश होता है मैक के अंदर विंडोज के अंदर होता है कंट्रोल स्लैश ठीक है कंट्रोल उसके बाद स्लैश इस तरीके से आप कमेंट और अन कमेंट कर सकते हो किसी भी लाइन को बड़े आराम से और अगर आपको मल्टीपल लाइन को एक साथ कमेंट करना है तो आप मल्टीपल लाइन सिलेक्ट करो इस तरीके से उसके बाद दोबारा से कर दो कमांड स्लैश तो यहां प आपके दो दोनों लाइन में मल्टी अपने आप ही सिंगल लाइन वाले कमेंट आ जाएंगे आपको करना है मल्टी लाइन कमेंट तो आप करोगे कमांड शिफ्ट स्लश तो इससे आपका मल्टी लाइन कमेंट लग जाएगा ठीक है तो कमांड स्लैश से आपका होता है सिंगल लाइन कमेंट और कमांड शिफ्ट स्लश से आपका होता है मल्टीलाइन कमांड या फिर विंडोज के अंदर क कंट्रोल शिफ्ट स्लश तो मैं य पर लिख देता हूं कि कमांड प्लस स्लश से होता सिंगल लाइन कमांड या फिर विंडोज के अंदर होता है कंट्रोल प्लस स्लश और अगर आपको मल्टीलाइन करना है तो उसके लिए होता है कमांड प्लस शिफ्ट प्लस स्लश ये होता है मैक के अंदर वहीं पर विंडोज के अरगा कंट्रोल प्लस शिफ्ट प्लस स्लैश इससे आप मल्टीपल लाइन सिलेक्ट करके मल्टी लाइन कमेंट लगा सकते हो तो वो वाला पार्ट आपका बेसिकली इग्नोर हो जाएगा ठीक है तो ये सब कुछ इग्नोर हो जाएगा और एक भी प्रिंट वाली लाइन नहीं है यहां पे तो अगर आप इसे रन करोगे ना यहां पे तो आप देखोगे कुछ भी प्रिंट नहीं होगा क्योंकि एक भी प्रिंट वाली लाइन नहीं थी यहां पे ठीक है तो ये बेसिकली आपके जावा प्रोग्राम था बहुत ही बेसिक हमने आज चीजें सीखी है बहुत खतरनाक चीजें नहीं देखी अभी हमने आज हमने नहीं देखा कि कैसे आप प्लस कर सकते हो माइनस कर सकते हो ये सब हम नेक्स्ट वीडियो में देख रहे होंगे लेकिन आपको समझ में आ रहा होगा धीरे-धीरे करके कि ठीक है प्रिंट कैसे होता है जावा के अंदर कुछ सिंटेक्स होता है जावा के अंदर एक तरीका होता है लिखने का किसी भी चीज को जावा के अंदर डेटा टाइप होते हैं मल्टीपल टाइप का डेटा आप जावा के अंदर स्टोर कर सकते हो डेटा टाइप को आप एक डेटा टाइप को दूसरे डेटा टाइप में आप कन्वर्ट भी कर सकते हो बड़े आराम से कुछ होता है इंपलीसिट कन्वर्जन कि छोटी चीजों को आप बड़ी चीजों में आराम से डाल सकते हो लेकिन बड़ी चीजों को आप छोटी चीजों में डालोगे तो आपको वहां पे एक्सप्लीसिटली बताना पड़ेगा बताने के लिए आपको इस तरीके से ब्रैकेट्स लगाने होते हैं तो ये सब आज हमने सीखा इसके बाद अगली क्लास के अंदर हम ऑपरेटर्स पढ़ रहे होंगे इसके अलावा यूजर से इनपुट कैसे लेना है वो सब पढ़ रहे होंगे ठीक है तो इसके साथ मिलेंगे आप लोगों से क्लास के अंदर बाय बाय हे व सब गाइस जावा के अंदर हमने बेसिक डेटा टाइप्स वेरिएबल ये सब देख लिया आज हम देखने वाले हैं कैसे उनके ऊपर काम कर सकते हो आप ठीक है आपने वेरिएबल तो बना लिए डेटा टाइप्स के अंदर अलग-अलग टाइप के वेरिएबल बना लिए डेटा के ऊपर काम कैसे कर सकते हो ऑपरेशन कैसे कर सकते हो तो ऑपरेटर्स पढ़ रहे होंगे इसी के साथ पहले बाइनरी नंबर सिस्टम को पढ़ना चाहेंगे ठीक है क्योंकि बाइनरी नंबर सिस्टम के ऊपर ही सब कुछ बेस्ड है कंप्यूटर जो है वो आपका पूरा पूरा बाइनरी नंबर सिस्टम पे काम करता है ठीक है तो ये दो चीजें पढ़ी है साथ में हम देखने वाले हैं आज कि कैसे यूजर इनपुट ली जाती है तो ये तीन चीजें आज हम गौर करने वाले हैं बाइनरी नंबर सिस्टम ऑपरेटर्स एंड टेकिंग यूजर इनपुट बहुत सिंपल सिंपल तरीके से पढ़ रहे होंगे हम सबसे पहले हम बात करेंगे बाइनरी नंबर सिस्टम की कि कन्वर्ट डेसिमल टू बाइनरी चलो ये तो बाद बात करेंगे लेकिन बाइनरी नंबर सिस्टम की जरूरत क्या है तो आपको पता है कि हम जब नंबर बोलते हैं मैं आपको बोलता हूं चलो एक से लेकर 10 तक गिनती सुनाओ तो आप बोलोगे 1 2 3 4 5 6 7 8 9 10 या फिर इंग्लिश में 1 2 3 4 5 6 7 8 9 10 राइट बट कंप्यूटर के अंदर क्या है ना कंप्यूटर के अंदर या फिर मशीन को ये सब समझ नहीं आता ठीक है 1 2 3 4 इतने लंबे तक नहीं जाता उनका कंप्यूटर्स के अंदर अगर आप एकदम अंदर तक घु सोगे मशीन को कोड के अंदर तो वो सिर्फ दो बिट्स समझता है वन और जीरो वन और जीरो के ऊपर चलता है हमारा अभी जो डिजिटल सिस्टम फिलहाल जो अ भी चल रहा है वो वन और जीरो पर चलता है एवरी बिट कैन कंटेन टू काइंड ऑफ इंफॉर्मेशन या तो वो जीरो है या फिर वन है इन्हीं की कॉमिनेशन से हम काफी सारी चीजें बना लेते हैं इन्हीं की कॉमिनेशन से पूरी का पूरा मॉडर्न कंप्यूटर जो है वो चल रहा है अभी फिलहाल क्टम कंप्यूटर जो है वो इस चीज को बोल रहा है कि नहीं दो नहीं हम इसके अंदर इंफिनिट नंबर ऑफ बिट्स डाल सकते हैं लेकिन वो अलग चीज है खैर व बिट्स के एक बिट के अंदर इंटरनेट नंबर ऑफ कॉमिनेशन हो सकते है जीरो या वन नहीं तो उसको क्यू नाम दे रहा है खैर वो एकदम अलग चीज है वो कभी बन जाएगा तो उसके बाद जितने भी इंक्रिप्शन जो भी कुछ चल रही है अभी हमारे डिजिटल सिस्टम में सब कुछ खतरे में आ जाएगी ठीक है लेकिन उसके ऊपर काम चल रहा है अभी फिलहाल आई थिंक 450 क्यूबिट तक पहुंचा दिया है किसी कंप्यूटर ने तो दैट इज कॉल्ड क्वांटम कंप्यूटर खैर आते हैं हम अपने नॉर्मल क्लासिकल कंप्यूटर के ऊपर ठीक है कि डेसीमल नंबर में काम नहीं करता वो बाइनरी में काम करता है बैनरी का मतलब इदर वन या फिर जीरो इसका मतलब एक खाली जगह है इस खाली जगह में या तो एक बार में जीरो हो सकता है या फिर इस खाली जगह में एक बार में वन हो सकता है इन्हीं खाली खाली जगहों को इन्हीं बिट्स को अगर एक साथ काफी सारी जग काफी सारी बिट्स को एक साथ रख दोगे और उनके कॉमिनेशन से इनके कॉमिनेशन से आप कुछ भी बना सकते हो इनके कॉमिनेशन से आप वर्ड्स बना सकते हो सेंटेंसेस बना सकते हो इमेजेस बना सकते हो कुछ भी बना सकते हो ठीक है इवन नंबर्स नंबर्स को आप कनट कर सकते हो तो वही हम देखेंगे कैसे आप डेसीमल नंबर्स को बाइनरी में कन्वर्ट कर सकते हो ठीक है बाइनरी में आप कुछ भी कन्वर्ट कर सकते हो वैसे तो हम नंबर्स को देखने वाले हैं कि नंबर्स कैसे कन्वर्ट होते हैं डेमल टू बाइनरी तो ये जो मैंने यहां पे लिखा है ना 0101 001 दिस इज दिस कैन बी एक्चुअली कन्वर्टेड टू अ नंबर जो कि डेसिमल में कुछ और नंबर होगा राइट सपोज करो डेसिबल के अंदर हमारा एक नंबर है फाइव वो बाइनरी के अंदर हो जाता है 10 आपको बोगे भ ये कैसे हो गया मैं बताऊंगा आपको कैसे कन्वर्ट करते हैं ठीक है डेसीमल के नंबर अंदर अगर एक नंबर है सिक्स वो बाइनरी के अंदर हो जाता है 110 ये कैसे हो गया ठीक है तो अब ज जानते हैं कि कैसे कन्वर्ट होता है कि आपने जब बोला सिक्स तो कंप्यूटर उसको 110 समझता है बेसिकली समझ रहा है कि कन्वर्जन कैसे हो रहा है कैसे कन्वर्ट हो रहा है तो बेसिकली कुछ नहीं होता आप सिंपल एलसीएम ले रहे होते हो मैथ के अंदर हमने एलसीएम लेना सीखा था ठीक है लोवेस्ट कॉमन मल्टीपल सिंपल एलसीएम लेना होता है एलसीएम के लिए आप क्या करते हो ऐसे दो दो डंडे खींच ले होते राइट एक ऐसे एक ऐसे एक साथ में एक और एक और खींच ले होते हो अब इनके साथ आप काम कर सकते हो फॉर एग्जांपल सपोज करो मुझे करना है 26 को कि 26 का बाइनरी में क्या होगा तो कुछ नहीं करना दो से डिवाइड करते जाना है आपको पूरे टाइम तो आपने जब 26 को टू से डिवाइड किया तो यहां पे आएगा 13 और रिमाइंडर कितना आएगा रिमाइंडर आपको यहां लिखना है रिमाइंडर आएगा जीरो राइट 2 म 13 प् 0 इ 26 इस तरीके से अब अगला आता है 13 13 के लिए क्या होगा अगेन टू से डिवाइड करेंगे तब तक डिवाइड करते आंगे त जब तक कि ये वन पे ना पहुंचाए ठीक है 2 से 13 होगा तो क्या होगा 2 म बा 6 इ 12 प्सव रिमाइंडर हम यहां लिखेंगे वो हो जाएगा आपका 13 राइट उसके बाद अगेन टू से डिवाइड करेंगे ू से डिवाइड किया तो हो जाएगा आपका 3 और यहां प आ जाएगा आपका जी0 2 म बा 3 प् 0 6 ठीक है अब अगेन ू सेवाइड करेंगे 2 मल्ला बाव इ 2 प्सव च इ 3 और यहां पर रुक जाएंगे क्योंकि अब यह वन हो चुका है और यह करने के बाद आपको यहां से यहां तक जाना है ठीक है और नंबर्स को लिखते चलना है य नंबर क्या ठीक है तो नंबर बनते आपके एंड दिस इ द बाइनरी फॉर्मेशन ऑफ 26 तो आप कह सकते 26 डेसीमल के डेसीमल मतलब न जीरो डेसीमल के अंदर 10 तक जाते है राइट एक से जीरो से लेकर नाइन तक मतलब डेसीमल रो से लेकर नाइन के अंदर आपके 10 डिजिट होता है इसलिए हम उसे कहते डेसीमल सिमिलरली जीरो से वन के बाइनरी के अंदर सिर्फ दो डिजिट होते हैं जीरो से लेकर वन तक बेसिकली दो डिजिट तो ये है आपका 26 इन डेसीमल इट इज इक्विवेलेंट टू 111 इन बाइनरी इस तरीके से आप किसी भी नंबर को सिमिलर तरीके से इजली बाइनरी में कन्वर्ट कर सकते हैं किसी भी डेसिमल नंबर को बाइनरी नंबर में कन्वर्ट कर सकते हैं इस तरीके से बारबार बस दो से डिवाइड करते जाओ एक बार जब पूरा का पूरा दो से डिवाइड हो गया तो उसके बाद नीचे से लेकर ऊपर तक आपको लिखना होता है ठीक है तो 11 इसको लिख दिया इस तरीके से हमारा ये कन्वर्ट हो गया ठीक है इसी तरीके से मैं आपको बोलता हूं कि चलो एक काम करो 49 को कन्वर्ट करके दिखाओ 49 को यहां पर टाइम लो कन्वर्ट करके दिखाओ 49 को बाइनरी के अंदर कि बाइनरी में क्या होगा तो आपने अगर कर लिया तो बहुत अच्छी बात है अब जरा देखते हैं आपका आंसर मैच करता है कि नहीं करता है तो अगेन इसके लिए हम वही करेंगे कि सबसे पहले तो डंडे बनाएंगे इस तरीके से राइट तो सबसे पहले यहां 49 आएगा एंड दिस इज टू तो 2 मल्ला बा 2 देन 4 और यहां पे आ जाएगा वन उसका बाद 2 1 2 और यहां पे आ जाएगा 0 उसका बाद 2 60 उसका बाद 2 3 0 उसका बाद 2 1 और जब यहां पे हो जाए तो उसके बाद हमें रुक जाना है उसके बाद यह जो भी बनाया पूरा का पूरा इसको हमें लिख लेना है इस तरीके से तो 1 1 00 1 दिस इज बाइनरी ठीक है तो अगर आपका यह आया तो कांग्रेचुलेशन आप समझ गए हो कैसे आप डेसीमल टू बाइनरी कन्वर्ट कर सकते हो तो यह तो सिंपल था डेसीमल टूू बाइनरी कन्वर्शन अगला हम देखते हैं बाइनरी से डेसिमल कैसे कन्वर्ट कर सकते हो कि अगर मैंने आपको बोल दिया कि देखो भाई यह नंबर है यह मैं कह रहा हूं कि यह डेसिमल के बाइनरी के अंदर यह है तो यह आपका डेसीमल में कितना होगा क्या आप मुझे बता सकते हो अगर आप पता लगा पाओ कि कैसे इसको उल्टा कर सकते हैं रिवर्स इंजीनियरिंग करके दिखाओ कि यह नंबर डेसीमल में क्या होगा सोचो एक बार तो बहुत मुश्किल नहीं है यह चीज़ भी आपको करना क्या होता है ना बेसिकली आपको अपने नंबर्स को लेना होता है और इस तरीके से एक डब्बे में डालना होता है जिसके अंदर आपके मल्टीपल डब्बे हो सकते जैसे कि यहां पर 1 00 तो इन सबको मैं अलग-अलग बॉक्सेस में डाल देता हूं ठीक है आपको ये बॉक्सेस बनाने की जरूरत नहीं है बस मैं समझाने के लिए बता रहा हूं आपको बाद में तो आप ये बॉक्सेस वगैरह नहीं बना रहे हो ठीक है उसके बाद पोजीशन क्या है इनकी आप राइट टू लेफ्ट जाओगे और पोजीशन लिखोगे यहां पर पोजीशन इस क्या है जीव टू थ फोर एंड फ य इनकी पोजीशन हो गई अब हमें क्या करना है हमें यहां पर करना है रे पावर 0 ठीक है मल्टीप्ला बा 0 क्योंकि य पर जीरो है तो इनको हम मल्टीप्लाई करेंगे इस तरीके से उसके बाद अगला है रे पावर व ठीक है उसके बाद अगला है रे पावर ऊपर से मल्टीप्लाई भी करते चल सबको मैं आपको बताऊंगा अभी कर क्या र अग रे पावर 3 उसके बा अगला है पावर फ उसके बाद अगला है पावर ठीक है और इनको इससे मल्टीप्लाई करेंगे जो भी लिखा हुआ है तो मैंने लिखा हुआ है 1 मल्ट पावर 5 ये क्या होगा ये हो जाएगा मेरा पा 5 म बा च इ 32 और इन सबको प्लस करना है मुझे अग पावर 4 मव च इ पावर 4 च इ 16 अगला है पा 3 मल्प बा 0 ये हो जाएगा हमारा रो अगला है ट मल्प बा 0 ये भी हमारा हो जाएगा जीरो अग म बाव च इ आला 2 पावर 0 मल्प बा 0 वच इज 0 इन सब को अगर आप ऐड करोगे तो फाइनली आपका जो नंबर आएगा वो आपका इसका डेसीमल फॉर्मेशन होगा ये आएगा आपका 48 + 2 चच इज 50 ठीक है तो हम यहां पर बोल सकते हैं कि ये नंबर जो है ये 50 है और आप अगर आप 50 को कन्वर्ट करोगे इस तरीके से जो हमने यहां पर देखा था ना अगर आप 50 को कन्वर्ट करोगे इस तरीके से ही तो आप देखोगे कि आपको यही नंबर मिलने वाला है 1110 तो इस तरीके से आप कन्वर्ट कर सकते हो किसी भी बाइनरी नंबर को डेसीमल नंबर में एक बार हम दोबारा से से करते हैं किसी नंबर के साथ सपोज करो ये नंबर है 101 इसको कन्वर्ट करके दिखाओ अगेन डेसिमल के अंदर कैसे करोगे तो अब आप बिना इस बॉक्सेस के भी कर सकते हो इस चीज को बड़े आराम से कैसे करना है आपको पता है कि ये जो है यहां पर वन है सिर्फ उसी को ऐड करना होता है जहां पर जीरो है उसको ऐड ही नहीं करना होता यहां पर देखो जहां जहां पर जीरो लिखा हुआ था वो चीजें ऐड नहीं हो रही है वहां वहां पर जीरो ही है 0 0 0 ठीक है और जहां-जहां पर वन लिखा था वहां वहां पर बेसिकली उनकी पोजीशन का ूरे पावर मल्टी ऐड हो रहा है ठीक है तो ये पोजीशन थी फाइव तो ये 2 पावर 5 व्हिच इज 32 ये ऐड हो रहा है इस जगह पे वन है और यहां पर पोजीशन है फोर तो 2 पा 4 ऐड हो गया यहां पर इधर वन है और यहां पर 2 पा 1 तो यहां पर टू ऐड हो गया और फिर इन सब को ऐड कर देना है बस ये सोच लिया ना आपने तो बड़े आराम से कर सकते हो इसको कैसे करोगे कि आप यहां पे आके पहले बस नंबर लिख दो 0 1 2 3 4 बस इतना लिख दिया उसके बाद आपको क्या करना है ये तो हो जाएगा 2 पावर 1 और 2 पावर 0 व्हिच इज वन ये आपका जीरो रहेगा इसको ऐड नहीं करेंगे अगला है आपका वन ये हो जाएगा 2 पावर 2 वच इज फर अगला जीरो है इसको ऐड नहीं करेंगे इसके बाद अगला है 2 पावर 4 चच इज 16 बस इनको ऐड कर देंगे तो ये हो जाएगा आपका 21 तो ये नंबर आपका 21 बनता है डेसीमल के अंदर सिमिलरली इस 21 को अगर आप कन्वर्ट करोगे तो यही बन जाएगा आपका ठीक है और एक बहुत सिंपल तरीका जो आप मतलब धीरे-धीरे करके जब आपको प्रैक्टिस हो जाएगी ना कि जल्दी-जल्दी आपको अगर करना है तो सिंपल कुछ नहीं करना होता ये सब भी लिखने की जरूरत नहीं होती आप पास देखते हो कि ठीक है ये जीरो है ये टू है ये फोर है ठीक है तो ये हो जाएगा 16 प्लस ये हो जाएगा फर प्लस ये हो जाएगा मतलब वही जो नीचे लिखा है मैंने सेम वही तरीका बट आप थोड़ा फास्ट हो जाते हो क्योंकि आपको पोजीशन रट जाते है इनकी और टू रेस्ट पावर जो है वो भी रट जाते हैं टू रेस्ट पावर आप कम से कम 10 तक तो याद रखनी ही है आपको 10 के 10 तक भी याद हो गए तो उसके बाद मुझे लगता है 11 12 ू पावर 12 तक भी आप आराम से याद रख सकते हो बस ऐसे ही कूल लगता है ठीक है ू पावर 10 आपका 1024 होता है 2 पावर 9 आपका 512 होता है 2 पावर 7 आपका 128 होता है 2 पा 8 आपका 256 होता है बस जल्दी-जल्दी याद रखो ठीक है इस टाइप की चीजें जल्दी-जल्दी करना सीखो बहुत मुश्किल नहीं है इस तरीके से आप किसी भी बाइनरी नंबर को डेसीमल में कन्वर्ट कर सकते हो और डेसीमल नंबर को बाइनरी में कन्वर्ट करना तो हमने पहले ही सीख लिया है तो इस तरीके से आपका कंप्यूटर काम करता है एक्चुअली कंप्यूटर को आप जब बताते हो कि सुन भाई इंट एज इक्वल टू 21 वो क्या करता है वो जाता है मेमोरी के अंदर और उस 21 को बाइनरी में कन्वर्ट करके मेमोरी लोकेशन में स्टोर करता है क्योंकि जो हमारी मेमोरी होती है ना उस मेमोरी के अंदर आप एक जगह पर या तो वन या जीरो स्टोर कर सकते हो ठीक है तो आपके नंबर को पहले कन्वर्ट करना पड़ेगा एक बाइनरी फॉर्मेट में सो दैट उसको मेमोरी के अंदर स्टोर किया जा सके ठीक है तो जितने भी हमारे ऑपरेशन होते हैं प्लस माइनस डिवाइड मल्टीप्लाई जो भी आप काम कर रहे होते हो वो समझ में आ रहा होगा कि वो हम डेसीमल नंबर पर नहीं करते वो हम बाइनरी नवर्स पर कर रहे होते हैं क्योंकि हमारा पूरा कंप्यूटर जो है क्लासिकल कंप्यूटर जो है वो पूरा का पूरा बायनरी नवर्स प ही काम करता है ठीक है तो इस तरीके से जब आपने इंट ए इ 21 लिखा तो ये 21 को कन्वर्ट किया गया एक बाइनरी फॉर्मेट के अंदर और उसको फिर स्टोर किया गया इसी के साथ ही आपको एक चीज याद आ रही होगी लास्ट क्लास के अंदर मैंने कहा था कि आपका इंट आपका चा बाइट का होता है शॉर्ट आपका दो बाइट का होता है राइट तो वो कैसे काम करता है मतलब अलग-अलग टाइप के हमारे पास डटा टाइप्स है उनके अंदर अलग-अलग साइज कैसे है और उनके अंदर हमने कैसे डिफाइन कर रखा है कि बाइट के अंदर आपका - 128 से लेकर प् प् 127 तक के नंबर हो सकते हैं सिमिलरली इंट के अंदर कैसे आपके - 64000 से लेकर मतलब इंट के अंदर तो -2 10 से लेकर प् 10 9 तक नंबर जा सकते हैं राइट साथ में कुछ कुछ और डिजिट भी होते ये कैसे डिसाइड होता है आपको याद होगा इन ज इक्व टू जब मैंने किया था 128 और इसको जब मैंने बाइट के अंदर टाइप कास्ट किया था या क्या बाइट न्यू ए यह ट्राई करके देखना आप भी बाइट न्यू इ टू और जब मैं एक्सप्लीसिटली टाइप कास्ट कर रहा हूं बाइट के अंदर इस पुरानी वाली एज को ठीक है तो बताना यहां पर फर न्यू के अंदर वैल्यू क्या स्टोर होती है यह स्टोर राट माइन 128 य स्टोर तो यह कैसे हो पा था और य क्यों हो रहा है यह समझते जरा ठीक है तो आपको पता हि एक बाइट के अंदर एट बिट्स होती है ठीक है आई थिंक दिस इज वेरी नॉर्मल स्टफ एक वाइट के अंदर आठ बिट होती है तो अगर आपकी इंट है उसके अंदर चार बाइट है तो इसका मतलब उसके अंदर 32 बिट्स है सिमिलरली लॉन्ग के अंदर अगर आपकी आठ बाइट है तो इसका मतलब उसके अंदर 64 बिट्स है 64 बिट्स लंबा नंबर है तो वो बहुत ही लंबा पहुंच जाता है 10 पावर 18 तक उसके अंदर नंबर आ सकते हैं एक बाइट के अंदर लेकिन - 127 से - 128 से लेकर + 127 तक य नंबर क्यों आते हैं आप जरा वो समझते हैं तो होता क्या है ना आपके पास होती तो टोटल एट बाइट्स है ठीक है लेकिन उसके अंदर जो मोस्ट सिग्निफिकेंट बिट होती है आपको बताता हूं एक दोती च पा 6 सा उसके बाद यहां पर रोव 2 3 फर 5 6 7 तो दिस बिट दिस वन राइट हियर दिस इज कॉल्ड मोस्ट सिग्निफिकेंट बिट और यह जो बिट है सबसे पहली वाली जीरो वाली दिस इज कॉल्ड लीस्ट सिग्निफिकेंट बिट तो मोस्ट सिग्निफिकेंट बिट जो होती है ना वो आपकी साइन बिट होती है इसका मतलब इसके अंदर अगर वन है तो इसका मतलब आपका नंबर नेगेटिव है और इसके अंदर अगर जीरो है तो नंबर आपका पॉजिटिव है तो इसको ऐसा साइन बिट यूज करते हैं हम कि अगर यहां पर वन रखा हुआ है उसके बाद सपोज करो यहां पर लिखा हुआ है 101 और बाकी सभी जगहो पर जीरो जीरो लिखा हुआ है 0 0 तो 101 क्या होता है 10 होता है 5 और यहां पर क्योंकि अगर वन लिखा हुआ है तो दिस विल बिकम -5 इस तरीके से आपके नंबर स्टोर होते हैं ठीक है तो आपको येय से समझ में आने लग गया होगा कि इसके अंदर सबसे बड़ा नंबर क्या स्टोर हो सकता है सबसे बड़ा नंबर सबसे बड़ा नंबर करने के लिए आपको सभी को व अ यहां पर जीरो करके बाकी सभी को वन करना पड़ेगा अगर आपने इसको भी वन कर दिया आपने सोचा कि सारी सारी एट की एट बिट्स को मैं वन कर देता हूं और वो मेरा सबसे बड़ा नंबर हो जाएगा वो मेरा हो जाएगा 256 तो नहीं ऐसा नहीं होगा यहां पर आपके साइंड इंटी जर होते हैं तो ये वाली जो बिट होती है ये तो आपके साइन के लिए काम में आएगी उसके बाद ये सब जो है इन सब को जब आप ऐड करने बैठोगे तो आपका बनता है 127 इसका मतलब सबसे बड़ा नंबर होगा आपका रो उसके बाद सात बार वन 1 2 3 4 5 6 सा एंड दिस बिकम पॉजिटिव 127 आप इसको ऐड करके देखना डेसीमल में कन्वर्ट करना ये आपका 127 बन जाएगा तो हमें इतना तो क्लियर हो गया कि सबसे बड़ा पॉजिटिव नंबर जो हो सकता है वो 127 हो सकता है क्योंकि इसके बाद जैसे ही आप आगे बढ़ते हो 128 करने का ट्राई करते हो 128 क्या होता है बैनरी के अंदर 128 य होता है वन उसके पाद 1 2 3 4 5 6 सा ठीक है ये होता है आपका 128 लेकिन हमें पता है ये वाली जो बिट है एक बाइट के अंदर सबसे ज्यादा मोस्ट सिग्निफिकेंट बिट ये वाली होती है एंड दिस इज अ साइन बिट तो ये इसको बना देते नेगेटिव नंबर एंड दिस इज एक्चुअली व्हाट इज कॉल्ड -128 अब आप बोले भैया वन के बाद इतनी सारी जीरो ये -128 कैसे बन गया ये मुझे समझ नहीं आया ठीक है तो टेंशन मत लो इसको भी हम समझेंगे एक्चुअली होता क्या है कि टूस कंप्लीमेंट लिया जाता है उसके हिसाब से हम बात करते हैं कि कैसे एडिशन और सबक्स काम करते हैं तो नेगेटिव नंबर्स कैसे काम करते हैं उसके अंदर आप देखो कैसे कि ये नंबर -18 है ठीक है ये नंबर -18 है अगर आपने इसको बाइट में स्टोर किया है तो वहीं पर अगर आप इस नंबर को इंट में स्टोर कर दोगे यही नंबर आपका प् 128 बन जाता है ठीक है दिस नंबर इ प् 128 अगर आप इसको इंट में स्टोर करते हो क्यों भैया इंट में स्टोर करते हैं तो प् 128 कैसे बन जाता है ये क्योंकि हमें पता है इंट के अंदर आपके 32 बिट्स होती है तो इंट के अंदर जो सबसे ज्यादा मोस्ट सिग्निफिकेंट बिट है वो तो 32 वाली पोजीशन पे है राइट तो आपका जो एट बिट है वो तो यहीं पर खत्म हो गया 32 वाली बिट तो यहां पर है आपका जो नंबर है वो यहां पर स्टो रहा है वन के बाद एक दोती च पा 6 सा ये आपका बाइट के अंदर है लेकिन इंट के अंदर तो 32 बिट्स है राइट तो तो इंट की मोस्ट सिग्निफिकेंट बिट तो यहां प्रेजेंट है तो इंट के लिए तो ये ऐसा है जैसे कि यहां पे आपने लगा रखा है वन उसके बाद आपने लगा रखा है मोस्ट सा जीरो तो दिस बिकम 2 पावर 7 व्हिच इज 128 इन डेसिमल तो इंट के अंदर ये चीज बन जाती है आपकी 128 वही पे आपको पता है बाइट के अंदर जब स्टोर करते हैं तो यही नंबर बन जाता है आपका नेगेटिव मोस्ट सिग्निफिकेंट बिट और इस पैटर्न को जब आपके वन के बाद बहुत सारे जीरो लगा रखे हैं और ये वाली बिट आपकी अगर वन है तो दिस बिकम -18 अब ये कैसे बनता है ये हम बात करेंगे धीरे-धीरे करके ठीक है उससे पहले हम बात कर लेते हैं बाइनरी के अंदर एडिशन काम कैसे करते हैं फिर जो हम सबट क्शन देख रहे होंगे तब आपको समझ में आएगा वो चीज ठीक है बाइनरी के अंडर डिशन अच्छा आप बोले रहे भैया ये जावा और प्रोग्रामिंग से रिलेटेड तो लग नहीं रहा ये जो आपने अभी तक इतना सारा पढ़ाया इसकी जरूरत क्या है तो मैं बोलूंगा यार देखो आप करने जा रहे हो डीएसए ठीक है अब सारी चीजें जरूरी नहीं कि जावा के अंदर एक्जेक्टली फिट हो रही हो ये चीजें आपकी काम आती है अभी हम पढ़ेंगे बिट मैनिपुलेशन भी इसके बाद आपको नंबर सिस्टम वैसे भी इं जनल पता होने नंबर सिस्टम कैसे कंप्यूटर में काम करते हैं जरूरी नहीं है हर चीज जावा के अंदर घुसे कहीं ना कहीं नहीं ये कंप्यूटर के कुछ फंडामेंटल्स है जो आपको पता होने ही होने चाहिए ठीक है इसलिए हम बाइनरी नंबर सिस्टम पढ़ रहे हैं इसको कोड नहीं कर रहे क्योंकि कोड में ऐसे नहीं देखे ग आपको कोड के अंदर सब कुछ डेसीमल नंबर पे काम करता है बिकॉज प्रोग्रामिंग लैंग्वेज तो हमारे लिए है राइट हमें तो सब कुछ वैसे भी डेसिमल दिखने वाला है लेकिन कंप्यूटर कैसे फिगर आउट करता है चीजों को कंप्यूटर कैसे सोचता है नंबर्स को वो भी आपको पता रहना चाहिए तो ये उसके लिए पढ़ाया जा रहा है आपको ये आप खुद से नहीं देखोगे जावा प्रोग्रामिंग लैंग्वेज के अंदर कहीं भी ठीक है तो आपको पता है एडिशन कैसे काम करता है आपको पता है कि जब मुझे 18 को ऐड करना है 23 में तो 8 प् 3 इव एंड देन यहां पर एक कैरी जाती है वन उसके बाद 1 प्व 2 प् इ 4 राइट दिस इ सिंपल एडिशन हम हमने सबको बताया एडिशन कैसे काम करता है लेकिन सिमिलर तरीके से आपका बाइनरी के अंदर भी एडिशन काम करता है ठीक है बाइनरी के अंदर सपोज करो आपको दो नंबर ऐड करने है जैसे कि मुझे फ को ऐड करना है लेट्स से ना के साथ ठीक है तो ना क्या होता है 10 और फ होता है 0 मैंने एक्स्ट्रा जीरो लगा दिया पीछे आप जितने मर्जी जीरो लगा सकते हो राइट अगर ये 18 है 18 के पीछे मैंने यहां पर मैंने जितने मर्जी जीरो लगा दिय स्टिल 18 ही है राइट तो पीछे आप जितने मर्जी जीरो लगा सकते हो आगे जो भी जीरो लगा रहे हो ट विल डबल द नंबर लेकिन पीछे आप जितने म जीरो लगा सकते हो तो 1 प्व क्या होता है 1 प्व आपको पता है ू होता है राइट लेकिन ू बाइनरी में क्या होता है ू बाइनरी में होता है न तो न का जीरो आपने ले लिया यहां पर और जो वन है वो आपने कर दिया कैरी सिंपल है ठीक है 1 प् 1 इ 0 1 प्व इ 10 का जीरो आपने यहां लिख दिया और वन आपने कैरी ऊपर कर दिया कैरी फॉरवर्ड उसके बाद 1 प् 0 प् 0 क्या होता है वो होता है वन तो आपने वन लिख दिया उसके बाद 1 प् 0 क्या होता है वो होता है व उसके बाद 1 प् 0 क्या होता है होता है व तो ये आप देखोगे तो कितना आएगा ये आ जाएगा आपका 8 प् 4 च इज 12 12 प् 2 च इज 14 तो 9 प् 5 आपका 14 होता है राइट दिस इ 5 दिस इज ना ड करते तो आता है और इनका जो डेसीमल रिप्रेजेंटेशन है वो भी 14 आ रहा है बाइनरी तो आपका वैसे ही 14 आ गया तो इस तरीके से आपके बाइनरी एडिशन काम करते हैं एक और एग्जांपल लेते हैं सपोज करो 1 1 1 0 उसके बाद 10 1 1 इसको ऐड करते हैं अगेन सिमिलरली 0 + 1 इज 1 उसके बाद 1 + 1 इज 0 एंड देन कैरी फॉरवर्ड वन उसके बाद अगेन 1 + 1 व्हिच इज टू राइट टू होता है आपका रो उसके बाद कैरी फॉरवर्ड वन उसके बाद ये हो गया आपका 1 + 1 + 1 व्हिच इज 3 थ्री क्या होता है 1 और वन राइट उसके बाद यहां पर हो गया वन उसके बाद यहां पर दो जीरो समझ लो 1 प् 0 प् 0 चच इज व तो ये क्या होता आपका ये हो जाता आपका 16 प् 8 24 प् 1 25 और यहां पर आप देख सकते हैं ये होता है आपका 8 प् 4 प् 1 चच इज 14 और ये होता आपका 8 प् 3 11 ऐड करते हैं तो ये बनता आपका 25 इस तरीके से आपके एडिशन काम करता है एडिशन बहुत सिंपल था ठीक है आप यहां पर खुद से भी एक एडिशन कर सकते हो सपोज करो ये ऐड करना है आपको बताओ ड करके कितना आएगा तो आप अगर ऐड करने जाओगे तोय हो जाएगा आपका नगाव प्व प्व प्व च इ जीरोन य पर य हो जाएगा आपका थ होता आपका वन और वन उसके बाद अगेन हो आपका य होता व और वनव तोय हो आपका 11 इसको आप कन्वर्ट कर सकते हो डेमल में जो भी आएगा दिस इ हाउ यू डू बाइनरी एडिशन बाइनरी एडिशन बहुत सिंपल होता है लेकिन अगला होता है बाइनरी सबट बाइनरी सबट थोड़ा सा डिफरेंट होता है बानरी एडिशन से बिकॉज यहां पर आपको टू कम्प्लीनोस करते हो एक तरीका य हो आप लिख दो 9 - 4 च इज 5 एक तरीका होता है आप लिखते हो 9 प्लस नेगेटिव 4 राइट यह भी आपका फ बनता है तो आपने क्या किया ना के अंदर ऐड कर दिया नेगेटिव फ तो भी आपका फ मिल गया तो सिमिलर टू दैट आप बाइनरी एडिशन कर रहे हो तो बाइनरी सबक्स कर रहे होथे बेसिकली कि आपको अगर ना ना होता है आपका 10 1 और 4 होता आपका 10 अगर आपको नाइन में से फोर इस तरीके से माइनस करना है तो आप ऐसे नहीं करते माइनस आप पहले निकालते हो फोर का नेगेटिव कि फोर जब नेगेटिव होगा तो कैसा दिखाई देगा और जो भी होगा उसको आप ऐड कर दो इस तरीके से नाइन में तो आपका आंसर आ जाएगा फाइव ठीक है तो आप बेसिकली क्वेश्चन बन जाता है कि मैं कैसे नेगेटिव 4 निकालूं ठीक है मेरा -4 क्या होगा बाइनरी के अंदर अब दिस इज योर क्वेश्चन कि व्हाट विल बी दिस नंबर इन बाइनरी -4 को आप बाइनरी में कैसे लिख सकते हो दिस इज योर क्वेश्चन नाउ तो ये कैसे कर सकते हैं तो ये भी बहुत सिंपल होता है आप क्या करते हो पहले फोर लिखते हो फोर क्या होता है फोर होता है 0100 ठीक है वन के पीछे दो जीरो ये होता है आपका फोर इसको अगर आपको कन्वर्ट करना है नेगेटिव फो में तो नेगेटिव फो का मतलब होता है टूस कॉम्प्लीयंट क्या होता भया टू कंप्लीमेंट बेसिकली किसी भी नंबर का नेगेटिव निकालने काम आता है बानरी के अंदर य पर बेसिकली दो स्टेप होते है फर्स्ट स्टेप इ स्प द बिट्स स्प द बिट स्प नहीं बेसिकली आप यहां पर हर वन को जीरो कर देते हो और जीरो को वन कर देते हो और अगला स्टेप होता है ड वन ठीक है तो अगर आपके पास इस तरीके से सपोज कर नंबर है 0 आप पीछे जितने मर्जी जीरो लगा सकते फर्क नहीं पड़ता य अभी भी आपका फोर ही कहलाएगा तो पहला स्टेप क्या है पहला स्टेप है कि स्वप कर दो सारी बिट्स को इसका मतलब जितने भी जीरो हैं वो बन जाएंगे वन और जितने भी वन है वो बन जाएंगे जीरो ठीक है ये तो पहला स्टेप हो गया दूसरा स्टेप क्या है दूसरा स्टेप कहता है कि एक ऐड कर दो इसके अंदर तो वन ऐड कर देते हैं यहां पे वन ऐड करने पे कितना आएगा तो 1 प् 1 वच इज रो उसके बाद यहां प व 1 प् 1 इज 0 अगेन फिर यहां प हो जाएगा वन वन यहां पर चला जाएगा एंड देन और 1 1 1 ऑलराइट ये आपका बेसिकली बन जाता है नेगेटिव 4 आप बोलोगे ये नेगेटिव 4 कैसे ये तो लग ही नहीं रहा नेगेटिव 4 मैं बोलूंगा नहीं यही है नेगेटिव 4 टेंशन मत लो और ये मैंने इतने सारे तीन जीरो लगा दिए ना पीछे आप जितने मर्जी जीरो लगा सकते थे ये जितने भी जीरो होंगे बाद में ये सब के सब यहां पर वन में कन्वर्ट हो जाएंगे और ये सभी के सभी यहां पर वन ऐड होते आंगे आप बोलोगे भाई इतने सारे वन ऐड कर दिए तो नंबर बहुत बड़ा हो गया ये नेगेटिव फोर कैसे मैं बोलूंगा कोई बात नहीं इसके अंदर जितने मर्जी आप पीछे वन ऐड कर दो ये अभी भी नेगेटिव ही है नेगेटिव फोर ही है अगर आप इसको ऐड करोगे ना इसके अंदर नाइन के अंदर सपोज करो मैं ऐड करता हूं नाइन के अंदर नाइन हमारा 10 और उसके अंदर मैं नेगेटिव फो चच इज दिस ये ऐड करता हूं तो नेगेटिव फो क्या है 0 1 उसके बाद पीछे बहुत सारे वन है सपोज करो इतने सारे वन है मैं बोलता हूं कोई फर्क नहीं पड़ता मुझे इन वन से उसके बाद यहां पर सपोज करो बहुत सारे जीरो लगे हुए हैं इनको ऐड करते हैं ठीक है तो दिस इज स्टिल फाइव राइट ये तो फाइव है आपका और मैं कह रहा हूं कि ये नेगेटिव फो है जरा ऐड करके देखते हैं इन दोनों को फाइव आना चाहिए तो 1 प् 0 इ 1 0 प् 0 इ 0 1 प् 0 इव उसके बा 1 प्व अगेन आया 0 कैरी फॉरवर्ड वन 1 प्व आया 0 कैरी फॉरवर्ड वन 1 प्व आया 0 कैरी फॉरवर्ड वन 1 प्व आया 0 कैरी फड वन तो यहां पर जितने भी वन होंगे ना वो सब के सब जीरो होते जाएंगे धीरे धीरे करके ठीक है और फिर लास्ट वाला जो वन होगा वो बाहर निकल जाएगा और इस तरीके से पीछे जितने भी है यहां पर जीरो बनते जाएंगे और फाइनली ये नंबर जो आपका बनता है ये बनता है आपका फाइव ठीक है 10 दिस इज फाइव तो दिस इज हाउ यू डू सबट इन बाइनरी आपने देखा आपने क्या किया आपने नाइन को लिया आपने फोर को लिया और फोर का निकाला आपने टू कम्प्लीनोस इज योर -4 और जब आपने ना और -4 को ऐड किया तो आपका बन गया फ इस तरीके से आप सबक्स करते हो ठीक है तो अब इसके साथ ही यहां पर एक अगला एग्जांपल लेते हैं जिससे हमें थोड़ा और क्लियर समझ में आने वाला है सपोज करो इस बार माइनस करते हम 13 माइनस 6 जो कि आपका आता है 7 राइट तो 13 तो हम पता है क्या होता है 13 होता आपका 11 दिस इज 13 उसके बाद हमें सिक्स पता है सिक्स क्या होता है सिक्स होता है आपका व 0 लेकिन सिक्स का हमें निकालना है टूज कम्प्लीनोस भी रो है वो कर दो वन तो ये हो जाएगा आपका अगर सिक्स होता है ये 1 0 एक में जीरो लगा देता हूं एक्स्ट्रा तो अगर ये सिक्स होता है तो वन पहले तो वनस कम्प्लीनोस कॉम्प्लीयंट बिट्स दिस इज कॉल्ड वनस कॉम्प्लीयंट ऑफ सिक्स वैसे कुछ फर्क पड़ता नहीं इससे असली काम तो वो होता है जब आप इसके अंदर वन ऐड करते हो तो अगला स्टेप करते हैं यह आपका फर्स्ट स्टेप था अब हम यहां पर सेकंड स्टेप करने वाले हैं च इज 101 के अंदर ऐड करेंगे हम वन तो 00 के अंदर ऐड करेंगे हम वन ये हो जाएगा आपका 1 प्व च इज जीरो कैरी फॉरवर्ड वन ये हो जाएगा जीरो और ये हो जाएगा वन ठीक है तो दिस इज योर टू कॉम्प्लीयंट तो अब हमें मिल चुका है 13 13 व्हिच इज 1 1 और हमें मिल चुका है -6 व्हिच इज 10 10 10 0 तो अब बस हमें कुछ नहीं करना है इन दोनों को ऐड करना है और हमें मिल जाएगा सेन देखो 1 + 0 इज 1 0 + 1 इ 1 1 + 0 इज 1 फिर 1 + 1 इज 0 कैरी फॉरवर्ड 1 आप बोलोगे यहां पर कैरी फॉरवर्ड वन जो है वो यहां पर आ जाएगा मैं बोलूंगा नहीं यहां पर आएगा ही नहीं क्योंकि यहां पर बहुत सारे ज़ीरो लगे होंगे यार सॉरी यहां पर बहुत सारे ज़ीरो लगे होंगे इस जगह पे अ इधर बहुत सारे जीरो लगे हुए थे राइट ये बहुत सारे जीरो जो है ये बहुत सारे वन में कन्वर्ट हो जाएंगे और फिर यहां पर भी बहुत सारे वन लग जाएंगे फिर तो इसका मतलब आप कह सकते हो कि यहां पर बहुत सारे वन लगे हुए हैं तो ज आप ये कैरी फॉरवर्ड वन को ऐड करोगे ना 1 प् 1 तो ये 1+ 1 0 ही बन जाएगा एक्चुअली फिर अगेन कैरी फॉरवर्ड वन होगा 1 प् 1 0 फिर कैरी फॉरवर्ड 1 फिर 1+ 1 0 फिर कैरी फॉरवर्ड 1 1 प् 1 प् 0 और ऐसे करते करते जब ये पूरी की पूरी इंट की डिजिट मतलब इंट की लिमिट पार हो जाएगी 32 बिट्स की तो वो जो लास्ट वाला वन होगा कैरी फॉरवर्ड वाला वो आपका इग्नोर हो जाएगा ठीक है 32 पोजीशन पर जो होगा वो आपका इग्नोर हो जाएगा और इसलिए आपके यहां पर सब जगह जीरो लगा हुआ है और लास्ट में ये तीन जगह वन लगा हुआ है तीन जगह वन जो होता है वो आपका सेवन होता है इस तरीके से तो आपने किया 13 - 6 चच इज सेवन तो ये था बेसिकली बाइनरी सबक्स अगर अभी भी समझ में नहीं आया तो आप पूछ सकते हो अपने टीचिंग असिस्टेंट से मेंटोरस से या फिर मुझसे डाउट क्लास के अंदर पूछ सकते हो आपकी भैया सबडक्शन समझ नहीं आया दोबारा से बता दो मैं बता दूं आपको कोई दिक्कत वाली बात नहीं है लेकिन अब आपको आई थिंक समझ में आएगा कि -10 क्यों कहते हैं इसको दिख रहा होगा ये -18 कैसे है वैसे क्योंकि -18 यह बेसिकली 128 का टूस कॉम्प्लीयंट में ऐसा ही कुछ होता है कैसे होता है भैया बताओ जरा ठीक से तो जरा देखो 128 क्या होता है 128 ही होता है वन के पीछे 1 2 3 4 5 6 7 दिस इज 128 इस बात को मानते हो अब मुझे -18 चाहिए तो मैं -18 के लिए क्या करूंगा 128 को लिया पहले उसका पहले वंस कॉम्प्लीयंट बिट्स को स्विच करेंगे तो ये हो जाएगा आपका 0 1 1 1 1 1 1 1 इसके बाद इसमें करेंगे ऐड वन ठीक है इसके बाद जब इसमें ऐड वन कर देंगे तो ये बेसिकली जो भी आएगा ये आपका -18 होगा जरा देखो 1 + 1 0 कैरी फॉरवर्ड व ठीक है लो पे आ जाता है 1 + 1 0 कैरी फॉरवर्ड 1 1 + 1 0 कैरी फॉरवर्ड 1 1 + 1 0 कैरी फॉरवर्ड 1 1 + 1 0 कैरी फॉरवर्ड 1 1 + 1 0 कैरी फॉरवर्ड 1 1 प् 1 0 का पावर 1 और 1 प् 0 1 ठीक है और ये क्या है ये एक्चुअली यही है देख रहे हो तो इसीलिए कहते हैं कि इंट के अंदर आपने यह चीज लिखी हुई है इंट के अंदर तो ये भले ही 128 है पॉजिटिव 128 है लेकिन जब यह बाइट में कन्वर्ट होता है जिसकी मोस्ट सिग्निफिकेंट बट यह होती है तब यही नंबर आपका -18 में कन्वर्ट हो जाता है ठीक है आई थिंक अब एकदम क्लियर हो गया होगा कि कैसे जो बाइट की लिमिट होती है -18 से लेकर + 127 तक होती है ठीक है एकदम मस्त क्लियर दिमाग खुल गया एकदम पूरा का पूरा सब कुछ रिलेटेड है आपस में ठीक है बस थोड़ा सा लीप ऑफ थ लेना पड़ता है कई बार तो हमें ये समझ में आ चुका है अब हम आगे मूव कर सकते हैं और बात कर सकते हैं ऑपरेटर्स की कि हमने पढ़ तो लिए इतने सारे नंबर्स पढ़ लिए डेटा टाइप्स पढ़ लिए माइ नमोट सिस्टम में पढ़ दिया लेकिन इनका फायदा क्या है तो जब तक आप कुछ ऑपरेशन नहीं कर रहे तब तक कोई फायदा ही नहीं है ठीक है आपने कुछ एड्रेस के अंदर कुछ कुछ चीजें स्टोर कर लिए मेमोरी के अंदर कुछ कुछ चीजें स्टोर कर ली है आपने वेरिएबल बना लिए हैं लेकिन जब तक उनके ऊपर कुछ प्लस माइनस डिवाइड मल्टीप्लाई वगैरह कु कुछ नहीं कर रहे यार तो फिर फायदा क्या है ठीक हैय प्लस माइनस कुछ तो करो ठीक है तो ये सब हम करते हैं अपने ऑपरेटर्स की हेल्प से हमारे पास मल्टीपल टाइप के ऑपरेटर होते हैं सिंपल वाले तो होते ही है जो रिमेटिक के अंदर आते हैं लेकिन कुछ और भी खतरनाक खतरनाक ऑपरेटर होते हैं जो कि हम समझते हैं एक करके सबसे पहला हमारा अथमिक ऑपरेटर जो कि सुनके सिंपल सा लग रहा है आपके पास बस ये होता है प्लस माइनस डिवाइड मल्टीप्लाई इसके अलावा इसके अंदर एक मॉड्यूल ऑपरेटर भी होता है ये मॉड्यूल ऑपरेटर आपको समझ में शायद ना आ रहा हो अगर आप पहली बार देख रहे हो क्योंकि ये थोड़ा डिफरेंट टाइप का ऑपरेटर होता है तो उसको समझने के लिए काम करते हैं सोर्स में जाता हूं मैं यहां पर मैं करूंगा राइट क्लिक और बनाऊंगा पैकेज पैकेज को आप समझ सकते हो फोल्डर की तरह कि आपको मल्टीपल फोल्डर्स में अगर अपना कोड डिवाइड करना है तो आप पैकेज उसकी तरह समझ सकते हो लेकिन फोल्डर से थोड़ा अलग हट के होता है पैकेज समझेंगे इसको जब हम ूब्स पढ़ रहे होंगे लेकिन पहले हम इसको पैकेज को नाम दे देते हैं पैकेज का नाम देने का तरीका भी सिमिलर टू वेरिएबल नेम ही होता है तो यहां पर हम दे सकते हैं इसको लेट्स से बेसिक्स ू और इसके अंदर मैं आके बनाऊंगा एक नई क्लास और इसको हम नाम नाम देते हैं ऑपरेटर्स ड जावा तो मैं ये वाली फाइल्स यहां से हटा रहा हूं और ऑपरेटर्स के अंदर हम आ गए हैं अपना पब्लिक स्टैटिक वॉइड मेन हेड टब और इस तरीके से हमारी क्लास बन जाती है इस बार आप देख रहे हो ऊपर एक पैकेज भी लिखा आ रहा है तो बेसिकली यहां पर यह बता रहा है कि यह जो ऑपरेटर्स नाम की जो क्लास है या ये जो फाइल है ये इस बेसिस टू वाले पैकेज के अंदर है तो इस लाइन को रहने देना यहां पर इसी से पता चल रहा है किय आप पैकेज के अंदर हो आप बेसिक स्ट वा पैकेज के अंदर हो इसके बाद बाकी सब तो सिंपल है ठीक है सिमिलर टू प्रीवियस जो हमने पढ़ा था अब हम पढ़ने वाले य पर ऑपरेटर्स तो सबसे पहले एडिशन ऑपरेटर की बात कर लेते हैं तो इसके लिए हम दो नंबर बनाएंगे पहला बनाता लेट से इट a इ लेट 12 और अगला बनाते बी इ 7 ठीक है तो दो नंबर है दो वेरिएबल है ए और बी नाम के जो कि इंट डाटा टाइप के है जिनके अंदर ए के अंदर तो वैल्यू 12 स्टोर है और बी के अंदर से स्टोर है ये बहुत सिंपल है अब आपने क्या किया a प्स बी किया कि a और बी को ऐड कर दिया लेकिन रिजल्ट को कहां रखा रिजल्ट को तो आपने कहीं स्टोर ही नहीं किया तो एक काम करते हैं रिजल्ट को शोर कर लेते हैं इंट रिजल्ट इक्व a प् बी इस तरीके से तो हमने क्या किया ए और बी को किया ऐड और जो भी रिजल्ट आया उसको इस रिजल्ट नाम के वेरिएबल में स्टोर कर लिया या फिर मैं इसको नाम रखता हूं लेट्स सी कि a प् बी को ऐड करके रिजल्ट को मैंने सी के अंदर स्टोर कर लिया है अब मैं अगर सी को प्रिंट कराता हूं एसा आउ सी तो आप बताओ सी के अंदर क्या प्रिंट होने वाला है आपको पता है c के अंदर क्या होगा 12 प् 7 चच इज 19 तो आप इसे यहां पर रन करो और इस तरीके से 19 तो इस तरीके से आप अमेट ऑपरेटर परफॉर्म कर पाए ठीक है दिस प्लस यर ये जो प्लस आप कर रहे हो ये आपका अरिमिल्ली इंट मेंही तो स्टोर हो रहे हैं तो आप सीधा नंबर्स के अंदर भी इस तरीके से काम कर सकते और यह भी आपका काम करेगा ठीक है 15 प् 9 च इ 24 24 आपका सी में स्टोर हो गया और 24 यहां पर प्रिंट हो रहा है तो बेसिकली आप यह दो नंबर्स के बीच में आप कुछ भी लगा रहे हो ना मैं आपको दिखाता हूं यह जो दो नंबर्स आपने य पर बनाए हैं यह और यह यह दोनों कहलाते हैं आपके ऑपरेंट और बीच में जो आप लिख रहे हो यहां पर ये जो चीज है दिस प्लस दिस इज योर ऑपरेटर तो यहां पर आप प्लस लगा सकते हो या यहां पे आप माइनस लगा सकते हो यहां प आप मल्टीप्लाई लगा सकते हो यहां प आप डिवाइड लगा सकते हो कुछ भी लगा सकते हो दिस विल बिकम योर ऑपरेटर तो दो ऑपरेंट के ऊपर जो ऑपरेशन कर रहे हो आप वो आप ऑपरेटर के थ्रू कर पाते हो एंड दीज फोर आर योर अरिमिल्ली और यहां पर आप जितने मर्जी स्पेसेस लगा सकते हो इससे फर्क नहीं पड़ता जावा को ठीक है बस ऐसे मैंने बता दिया कि आप ए माइन प आप ऐसे भी कर सकते हो बिकॉज यह सारे स्पेसेस वैसे भी हट जाने वाले जब जावा इसे कंपाइल कर रहा होता है आपका सिंपल यह बन जाता है ए माइनस ब इस तरीके से उसके बाद अगर आप इसे मल्टीप्लाई करोगे तो मल्टीप्लाई तो सिंपल है ही लेकिन डिवाइड के अंदर एक थोड़ा सा ट्विस्ट है जरा वो देख लेते हैं तो 12 मल्टी 7 च इ 84 भैया ठीक है डिवाइड करने के लिए आपको यह यूज करना होता है स्लश और आप डिवाइड कर पाते हो तो 12 / 7 क्या होता है आप बोलोगे भाई ये तो 1 पॉइंट समथिंग समथिंग आना चाहिए लेकिन यहां पर सिर्फ वन प्रिंट हो रहा है क्यों क्योंकि 12 को जब आपने सेवन से डिवाइड किया तो आपने दोनों को रखा हुआ है इंट के अंदर 12 भी इंट के अंदर है सेवन भी इंट के अंदर है इवन जो रिजल्ट आया है वो भी इंट के अंदर ही है तो इसी वजह से जो रिजल्ट है आपका वो वन पॉइंट करके स्टोर नहीं हुआ है ठीक है वन पॉइंट वगैरह जो होता है वो डेसीमल नंबर होते है जो कि फ्लोट या फिर डबल में स्टोर होते हैं तो आप चाहो तो इसको डबल में चेंज कर सकते हो कैसे करोगे अगर आप यहां पे लिख दो सिंपल डबल तो क्या ये काम करेगा अभी भी काम नहीं करेगा ठीक है जरा देखो चला के दिखाता हूं अब यहां प प्रिंट होगा 1.0 आप बोलोगे 1 पॉ समथिंग समथिंग क्यों नहीं प्रिंट हुआ मैंने तो यहां पर डबल कर दिया तो बेसिकली हुआ क्या है ना यार आपका ए भी इंट है बी भी इंट है और जब इनके ऊपर ऑपरेशन परफॉर्म हुए वो भी इंट वाले ऑपरेशन परफॉर्म हुए और जो रिजल्ट आया था वो भी इंट के अंदर स्टोर किया गया था जो कंप्यूटर ने अपना रिजल्ट स्टोर किया था लेकिन उसके बाद कंप्यूटर ने क्या आपके रिजल्ट को इस डबल में टाइप कास्ट कर दिया तो वन को जब आप डबल में चेंज करोगे तो तो 1.0 ही तो बन जाएगा इसीलिए आपको एक्सपेक्टेड रिजल्ट नहीं मिला जो आप चाहते थे 1 पॉ समथिंग समथिंग प्रिंट हो तो अगर आपको वो करना है तो वो कैसे करोगे तो उसके लिए आपको टाइप कास्टिंग करना पड़ेगा ठीक है इधर ए या फिर बी को आप टाइप कास्ट कर दो डबल के अंदर इस तरीके से या तो आप ए को कर दो या बी को कर दो या फिर दोनों को कर दो तो आप जैसे ही करते हो तो आपका जो ऑपरेशन होता है वो डबल में परफॉर्म होगा और अब आप देखोगे कि आपको यहां पे डबल के अंदर प्रिंट हो रहा 1.71 इस तरीके से ठीक है तो आपने क्या किया a को चेंज कर दो या तो या फिर बी को चेंज कर दो आप ठीक है अब भी डबल ऑपरेशन परफॉर्म होगा बेसिकली दोनों में से किसी एक को आपको डबल में चेंज करना पड़ेगा इस तरीके से टाइप कास्ट करके और उसके बाद ऑपरेशन जो होगा वो आपका डबल में परफॉर्म होगा ठीक है आई थिंक ये समझ में आ रहा होगा सबको इसके बाद अगला ऑपरेटर जो बच जाता वो होता आपका मॉड्यूल ऑपरेटर और यह बताता है कि रिमाइंडर रिमांडर बताता है ये इसका मतलब सपोज करो आपने 12 को डिवाइड किया सेवन से तो आपको पता है इसका क्श तो वन होगा और यहां पे हो जाएगा 7 * 1 7 और यहां पे आपका रिमाइंडर आएगा फाइव राइट यह जो रिमाइंडर है ना डिवाइड करने पे यह आपका मॉड्यूल ऑपरेशन परफॉर्म मॉड्यूल ऑपरेशन देता है इसका मतलब कि से 12 मॉड्यूल सेवन इज फाइव ठीक है अभी हम देखेंगे फाइव कैसे आ रहा है एक चीज़ और जब आप 12 को डिवाइड करते हो सेवन से तो आपको मिलता है क्श क्श व्हिच इज़ वन और 12 का मॉडल करते हो सेवन से तो आपको मिलता है रिमाइंडर ठीक है तो मॉड्यूल ऑपरेशन आपका कई बार काम में आता है अभी हम क्वेश्चन कर रहे होंगे काफी सारे जहां पर आप देखोगे मॉड्यूल ऑपरेशन बहुत ज्यादा यूज होता है अभी तो आपको समझ में नहीं आ रहा होगा कि भैया ये मैं रिमांडर लेके काम क्या करूंगा लेकिन बहुत ज्यादा काम का होता है ये ठीक है कमांड डी करने से आपकी लाइन डुप्लीकेट हो जाती है कोई सी भी आपको अगर लाइन डुप्लीकेट करनी है तो कमांड डी किया लेकिन दो सेम नाम के वेरिएबल आपके बन नहीं सकते सी नाम का वेरिएबल ऊपर भी बनाया सी नाम का वेरिएबल दोबारा नीचे भी बनाया है तो दिक्कत हो जाएगी ठीक है कंप्यूटर समझ नहीं पाएगा एक घर के अंदर अगर सेम नाम के दो लोग हैं और मैंने बुलाया किसी को अनुज नाम के दो लोग तो दोनों में कंफ्यूजन है कि मुझे कौन से वाले अनुज को बुलाया जा रहा है राइट सिमिलर टू दैट एक क्लास के अंदर एक ब्लॉक के अंदर ये जैसे मेरा ये ब्लॉक है ठीक है इस ब्लॉक के अंदर सी नाम के दो लोग नहीं हो सकते किसी और का नाम कुछ और करना पड़ेगा ठीक है या तो एक को हटाओ यहां से कमेंट कर देते हैं कमांड स्लश से उसके बाद यहां से मैं डबल को हटाता हूं इसको करते है ए मॉडलो बी इस तरीके से तो 12 मॉड्यूल 7 चच इज फ जरा देखते हैं आता है कि नहीं आता रन करते हैं तो 12 मड 7 चच इज 5.0 प्रिंट हो रहा है ठीक है तो इस तरीके से आपका मॉड्यूल ऑपरेशन काम करता है इसके बाद अगला हम देखते हैं व्हिच इज असाइनमेंट ऑपरेटर असाइनमेंट ऑपरेटर बहुत ही सिंपल होता है ज्यादा कुछ मुश्किल नहीं है इसके अंदर अ इसके अंदर ये सारे ऑपरेशन होते हैं बेसिकली ठीक है आप देख सकते हो कि a = b जो इक्वल होता है ना ये सिंपल य ऑपरेटर ये भी असाइनमेंट ऑपरेटर होता है जो कि आप आज तक हम बहुत बार देखते आ चुके हैं यहां पे भी असाइनमेंट ऑपरेटर है यहां पर भी असाइनमेंट ऑपरेटर है ऑल दीज आर असाइनमेंट ऑपरेटर ये तो बहुत सिंपल है किसी भी वैल्यू को असाइन करने के काम में आता है ये सिंपल अगला है प्लस इक्वल टू अगर आपको लिखना है दिस इज इक्विवेलेंट टू दिस यहां पर देखो लिखा है a + इ b इ इक्ट टू a = a + b तो जब आपको a के अंदर ही कुछ नंबर ऐड करके वापस a में ही रिजल्ट स्टोर करना है तो आप इस तरीके से लिख सकते हो a = a + b लेकिन आप इसको शॉर्ट हैंड तरीके से लिख सकते हो ऐसे a + इ b तो कई बार लोग इस तरीके से लिख रहे होते हैं इससे ठीक है मैं भी रिकमेंड करूंगा अगर आपको a के अंदर b को ऐड करके वापस a में ही स्टोर करना है तो यह वाला मच आप लोग ठीक है तो इसको जरा चला के देखते हैं एक बार तो उसके लिए कुछ नहीं करना यहां पर मैं इसको भी कमेंट कर देता हूं उसके बाद ऐसे लिखना है a प्लस इक्वल टू बी तो हो क्या रहा है इसका मतलब यह है इसका मतलब है a = ए प् बी तो आप चाहे यह लिखो या यह लिखो बात बराबर है ठीक है इस सी को हटा के अगर मैं यहां पर a लिखता हूं तो आप देखोगे कि 12 प् 7 ऐड हो जाने के बाद a ही हमा चेंज हो जाएगा और एक की वैल्यू अब हो जाएगी 12 प् 7 च इ 19 तो ए की वैल्यू यहां पर 19 हो चुकी है ठीक है इस तरीके से य पर अग मैं लिखूंगा माइनस इ तो इसका मतलब a इ ए माइ बी मतलब की 12 माइन 7 के बाद जो भी रिजल्ट आएगा वो वापस ए में डाल 12 माइ 7 च इ 5 फ को लेके आपने वापस ए में डाल दिया तो दिस इज फ ठीक है और ज्यादा ओवरिंग लग रहा है अगर आप एकदम नए हो तो टेंशन मत लो ये बेसिकली डिफरेंट डिफरेंट टाइप के ऑपरेटर होते हैं यार कई बार आप यूज करते हो कई बार आप यूज नहीं करते हो कई बार आपको लगेगा शुरुआत में भैया ये क्यों दे दिया एक्स्ट्रा क्या फायदा है इसका ठीक है लेकिन धीरे धीरे करके आपको इसकी अहमियत समझ में आती है बिगिनर्स को लगता है कि ये एक्स्ट्रा चीज क्यों दे दिया एक्स्ट्रा चीज भी पढ़नी पड़ेगी हमें लेकिन ज्यादा टेंशन मत लो ये बहुत धीरे धीरे करके आपकी मसल मेमोरी बन जाता है फिर आप धीरे-धीरे करके यही यूज करने ले आते हो आप यह नहीं लिखते यह लिख रहे होते हो अगर आप ये लिखोगे भीना तो भी कोई दिक्कत वाली बात नहीं है ठीक है टेंशन वाली बात नहीं है ये दोनों एक्चुअली सेम ही है लेकिन दिस इज मच मोर कंसा वे ऑफ राइटिंग दिस तो ये सब आपका इन सब पर काम कर सकता है मल्टीप्लाई के अंदर भी तो जितने भी हमारे एरिमेजपुल मूविंग ऑन टू रिलेशनल ऑपरेटर ये बेसिकली बड़ा काम का होता है ये पूरा का पूरा प्रोग्रामिंग के अंदर लॉजिक बनाने काम में आता है ठीक है डिफरेंट डिफरेंट टाइप का आप लॉजिक सोचते हो डिफरेंट डिफरेंट टाइप की चीजों के ऊपर आप कंपैरिजन करते हो दो चीजों को कंपेयर करते हो कि a बड़ा है क्या b से या फिर a छोटा है b से इस तर तरीके की चीजें आप जब करते हो तो वहां पे आप रिलेशनल ऑपरेटर यूज कर रहे होते हो जैसे फॉर एग्जांपल सपोज करो आप देखना चाहते हो कि कहां की आबादी ज्यादा है किस कंट्री की आबादी ज्यादा है तो पॉपुलेशन वन ग्रेटर दन पॉपुलेशन टू इस तरीके की चीजें अगर आपको करनी है कोड में दो चीजों को कंपेयर करना है अगर कोड के अंदर तो आप कैसे करोगे बाय द हेल्प ऑफ रिलेशनल ऑपरेटर ठीक है तो इसके अंदर भी अगेन दो ऑपरेंट चाहिए होते हैं हमें जैसे सपोज करो एक ऑपरेंट है थ्री दूसरा ऑपरेंट है फाइव दोनों बराबर है क्या उसके लिए आप डबल इक्वल टू लगाते हो ये दो बार इक्वल लगाया हुआ है ये आप ये मत समझना गलती से लिख दे यहां पर दो बार इक्वल नहीं ये एक्चुअल होता है ये मैंने पहली बार पढ़ा था मुझे आज भी याद है कि लगाता है यार ये क्या गलती से लिख देगा दो बार इक्वल लेकिन नहीं दिस इज एक्चुअली एन ऑपरेटर दो बार इक्वल जब लगाते हैं तो वो बन जाता है हमारा रिलेशनल ऑपरेटर इक्वल टू अगर एक बार इक्वल लगाते हैं तो कौन सा ऑपरेटर बनता है हमने देखा था अभी-अभी वो बनता है हमारा असाइनमेंट ऑपरेटर ठीक है इक्वल वाला असाइनमेंट ऑपरेटर एक बार इक्वल लगाया तो वहीं पर अगर दो बार इक्वल लगाया तो वो बन जाता हमारा रिलेशनल ऑपरेटर ठीक है ये कंपेयर करने के काम में आता है कि दो नंबर बराबर है कि नहीं है तो आप देख सकते हो 3 इक्वल इक्वल 5 बराबर है नहीं बराबर नहीं तो यह रिटर्न करता है आपका फाल्स आपको याद रखना है कि रिलेशनल ऑपरेटर ऑलवेज रिटर्न ऑलवेज रिटर्न बोलियन वैल्यू ठीक है इनकी आदत बलिन वैल्यू रिटर्न करेंगे बलिन के अंदर क्या क्या होता है इदर ट्रू या फिर फॉल्स ठीक है तो या तो ट्रू रिटर्न करेंगे या फिर ये फाल्स रिटर्न करेंगे ये आपके बलिन वेरिएबल होते हैं अगला होता आपका नॉट इक्वल टू इसके अंदर आपका एक्सक्लेमेशन मार्क आता है इस बाद इक्वल तो क्या 3 नॉट इक्व 5 है हां दोनों बराबर नहीं है तो इसके लिए यहां पर इसने रिटन कि ट्रू ठीक है इसको जरा एक्शन में देखते हैं तो यहां पर सपोज करो हमारे पास यह दो नंबर नहीं है इस बार इस बार हम कुछ और एग्जांपल ले लेते हैं तो मैं इन सभी चीजों को यहां पर जितना मैं लिखा इसको मैं करूंगा कमांड स् शिफ्ट स्लश इससे पूरा का पूरा कमेंट हो जाता है कमांड शिफ्ट स्ल से पूरा का पूरा कमेंट हो जाता है उसके बाद इन सबको नीचे ले आते हैं और यहां पर दो रिबल बनाते है इंड फर्स्ट नंबर इक्व टू 12 इन सेकंड नंबर इक्वल टू 16 आप यहां पर नोट कर सकते हो कि वेरिएबल नेम बनाते टाइम अगेन मैंने कैमल केस फॉलो किया है तो नंबर का जो ए है व कैपिटल है दोनों जगहो पर ठीक है उसके बाद मुझे चेक करना है कि फर्स्ट नंबर और सेकंड नंबर को कंपेयर करना है बेसिकली तो मैं एस आउट करता हूं य पर और मैं लिखता हूं फर्स्ट नंबर इक्वल टू सेकंड नंबर तो क्या फर्स्ट नंबर और सेकंड नंबर बराबर है हमें दिख रहा है नहीं दोनों बराबर नहीं है तो यहां से प्रिंट होना चाहिए फाल्स जरा चला के देखते हैं तो देखो फॉल्स प्रिंट हो रहा है क्योंकि हमें पता है किय जो इक्वल इक्वल है ना यहां से जो रिजल्ट आता है वो एक बन ल बन वैल्यू आती है तो बलिन वैल्यू क्या होती है इर ट्रू या फाल्स तो यहां से मिला फाल्स क्योंकि ये दोनों बराबर नहीं है अगला होता है नॉट इक्वल टू नॉट इक्वल टू करने के लिए य अपने लगाया एक्सक्लेमेशन मार उसके बाद इक्वल लगाया आपने अगेन रन करते हैं तो क्योंकि इक्वल नहीं है इसलिए यहां पर ये ट्रू दे रहा है यहां से ही बात है फर्स्ट नंबर और सेकंड नंबर बराबर नहीं है तो इसीलिए नॉट इक्वल्स टू जो है वो ट्रू ही लाके देगा इसके बाद अगला होता है ग्रेटर देन फर्स्ट नंबर ग्रेटर देन सेकंड नंबर आप ये देख लोगे यहां पर येलो येलो स्ली लाइन आ रही है य बोल रहा है क्या फायदा है इसका तो ये बोल रहा है बेसिकली कि भाई ये लाइन लिखने का कोई मतलब है नहीं क्योंकि दिस विल ऑलवेज रिटर्न फॉल्स तो ये क्यों लिख रहे हो आप तो मैं तो भा पढ़ाने के लिए लिख रहा हूं ठीक है इसलिए कई बार ये इंटेलीजें जो है ना वो हमें काफी स्मार्ट दे रहा होता है हिंट्स लेकिन यहां पर इसने मलब बोल दिया कि भाई क्या फायदा है इसको लिखने का बात एकदम सही भी है इसकी कि ये तो हमेशा से ही ट्रू देने वाला है तो यहां पर ये लान लिख के आप यहां पर ट्रू ही लिख दो तो वो भी ठीक है ठीक है तो वो तो ये कहना चाह रहा है यहां पर लेकिन हमें तो पढ़ना है ना भाई तो इसलिए हमें तो लिखना पड़ेगा ना यार तो हमें तो लिखने दो ठीक है तो यहां पर आप देखोगे सॉरी फॉल्स देने वाला है 12 ग्रेटर दन 16 क्या ये बात ट्रू है नहीं ये बात फाल्स है इसलिए यहां पर फाल्स मिल रहा है उसके बाद अगला होता है लेस देन ठीक है ये सब यहां पे लिखे हुए हैं देख रहे हो ग्रेटर दन लेस दन उसके बाद दिस इज ग्रेटर दन इक्वल टू एंड दिस इज लेस दन इक्वल टू अगला है लेस दन क्या फर्स्ट नंबर लेस दन है सेकंड नंबर तो 12 इज लेसन 16 हां सही बात है तो ये चीज है ट्रू तो यहां पे हमें मिलेगा ट्रू ठीक है अगला होता है ग्रेटर दन इक्वल टू क्या फर्स्ट नंबर बड़ा है या फिर बराबर है सेकंड नंबर के तो भी यहां पे ट्रू मिलेगा ठीक है तो हमें पता है फर्स्ट नंबर तो छोटा ही है दूसरे नंबर से तो इसलिए यहां पर फाल्स मिल रहा है लेकिन अगर यहां पर फर्स्ट नंबर बराबर भी है ना सेकंड नंबर के लेट से 12 12 दोनों है तब भी यहां पर हमें ट्रू मिल जाएगा क्योंकि इसके बाद यहां पर इक्वल लगाया हुआ है ठीक है बहुत सिंपल ऑपरेटर है ये उसके बाद यहां पर हम लिख सकते हैं लेस दन इक्वल टू इस तरीके से क्या फर्स्ट नंबर लेस दन इक्वल टू है सेकंड नंबर तो दोनों के दोनों बराबर ही है तो यहां पर अगेन हमें ट्रू मिलने वाला है लेकिन अगर आपका फर्स्ट नंबर सपोज करो 12 और दूसरा नंबर 16 है तो अगेन यहां पर तब भी ट्रू ही मिलेगा ठीक है बिकॉज फर्स्ट नंबर इज लेस दन इक्वल टू सेकंड नंबर तो इस तरीके से आपके ये रिलेशनल ऑपरेटर काम में आते हैं अब बोलो भैया इनका यूज क्या था आपने तो बस ऐसे ही प्रिंट करके बता दिए तो प्रिंट ही नहीं करना होता इनको सिर्फ ठीक है ये तो बहुत सिंपल चीज बता दी मैंने इनको एक्चुअली हम यूज कर रहे होंगे अपने प्रोग्राम्स के अंदर बहुत ज्यादा हाईली यूज कर रहे होंगे ठीक है अभी हमारे फॉर लूप्स आ रहे होंगे तब भी हम यूज कर रहे होंगे इनको वाइल लूप्स अंदर भी यूज कर रहे होंगे इसके बाद जितने भी कोड भी आ रहे होंगे हमारे इफ एल्स कंडीशन वगैरह लिखते टाइम इनको यूज करेंगे हम बहुत बार तो आपको समझ में आनी चाहिए दो ऑपरेटर्स को बेसिकली कंपेयर करने के लिए आप इस तरीके से छह टाइप के ऑपरेशन कर सकते हो ठीक है ये छह ऑपरेशन है इक्वल नॉट इक्वल ग्रेटर लेस दन ग्रेटर इक्वल टू और लेस दन इक्वल टू ठीक है इसके बाद हम अगला देख लेते हैं च इज लॉजिकल ऑपरेटर और लॉजिकल ऑपरेटर बेसिकली दो टाइप की एक्सप्रेशन को कंपेयर करने के काम में आता है यहां पर देख रहे हो दो एक्सप्रेशन को लिया हमने उसके बाद इनके बीच में कुछ लॉजिकल ऑपरेशन करने है आपने आई थिंक देखा होगा अगर आपने फिजिक्स में 12थ में फिजिक्स में देखा हो शायद मुझे अब आईडिया नहीं कि अब ये है होता है कि नहीं होता है ट्रुथ टेबल होती है आपके पास एंड की और की ठीक है इन सबकी ट्रुथ टेबल आती है आपके पास इसमें क्या होता है कि आपको बेसिकली ए और बी की वैल्यू दे रखी होती है ये आपका ए होता है ये आप ये होता है सपोज करो ये हो गया y y इ a एंड बी एंड मे तो उसका रिजल्ट क्या होगा तो a और बी की चार वैल्यू हो सकती है आपके राइट 00 0 1 10 1 1 तो ए एंड बी की जो ट्रुथ टेबल होती है वो ऐसे बनती है कि एंड कर रहे है तो 0 0 0 1 ये आपके ट्रुथ टेबल होती है बेसिकली सिमिलर टू दैट यहां पर एंड लॉजिकल ऑपरेटर होता है आपका ये बेसिकली काम में क्या आता है कि आपके पास दो ऑपरेशन दो एक्सप्रेशन है ठीक है जीरो का मतलब होता है फॉल्स वन का मतलब होता है ट्रू एंड बताता है कि अगर दो दोनों में से कोई भी एक भी चीज फॉल्स है ना तो आपका टोटल रिजल्ट फॉल्स आएगा यहां पे लिखा भी हुआ है या फिर दूसरी दूसरे वर्ड्स में आप ऐसे बोल सकते हो कि ट्रू तभी होगा इफ बोथ एक्सप्रेशन वन एंड एक्सप्रेशन टू आर ट्रू ठीक है तो मैं तो इसको इस तरीके से याद रखता हूं एंड को कि एंड तब फॉल्स होगा जब दोनों में से कोई भी एक भी फॉल्स है ठीक है या फिर ट्रू तब होगा जब दोनों के दोनों ट्रू है अगला होता है आपका और लॉजिकल और ऑपरेटर लॉजिकल और ऑपरेटर की थ टेबल याद है अगर y = a और b है तो उसकी ट्रू टेबल कैसी होती है वो ऐसी होती है 0 1 1 1 तो यह बेसिकली वन तब होता है जब दोनों में से कोई भी एक वन है यहां पर भी लिखा हुआ है ट्रू इफ इदर एक्सप्रेशन वन और एक्सप्रेशन टू इज ट्रू यह कहता है कि दोनों में से कोई भी एक्सप्रेशन अगर ट्रू है इसका मतलब दोनों में से कोई भी एक भी ट्रू है तो मैं ट्रू हो जाऊंगा आपके अगर दिमाग में नहीं घुस रहा ना कि भाई ये सब कहां यूज हो रहा है ये सब कोड में दिखाओ ये सब कैसे यूज होगा तो मैं आपको अभी बताऊंगा वैसे कोड मैं ना ये अगली क्लास में समझाने वाला आपको कोड में जब हम देख रहे होंगे इफ एल्स कंडीशन ठीक है हम इफ एल्स कंडीशन जब समझ रहे होंगे ना कंडीशनल स्टेटमेंट समझ रहे होंगे तो वहां पे बहुत अच्छे से सेंस बना रहे होंगे क्योंकि वहां पे बहुत ज्यादा यूज होते हैं लेकिन मैं अभी आपको कोड में दिखाता हूं वैसे ही कैसे काम करते हैं उसके बाद अगला नॉट है नॉट तो बहुत ही सिंपल है नॉट आपका सिंपल एक ही ऑपरेटर प काम करता है यहां पर देख रहे हो यहां पर तो आपके पास दोदो एक्सप्रेशन है लेकिन यहां सिर्फ एक ही एक्सप्रेशन है तो नॉट आपका सिर्फ एक एक्सप्रेशन में काम करता है नॉट बोलता है कि अगर आपके पास कोई a है जिसकी वैल्यू या तो जीरो हो सकती है या फिर वन हो सकती है तो मैं नॉट ऑफ ए बना दूंगा नॉट ऑफ ए आपने ऐसे देखा होगा टल साइन लगा होता है कि जीरो का हो जाएगा वन और वन का हो जाएगा जीरो तो ये बेसिकली किसी भी चीज को लेता है और उसको रिवर्स कर देता है अगर आप नॉट जीरो बोलोगे तो वो वन बना देगा और नॉट वन बोलोगे तो वो जीरो बना देगा या फिर आप बोल सकते हो कि अगर आप फाल्स को नॉट फॉल्स करोगे तो वो ट्रू बन जाएगा या फिर नॉट ट्रू करोगे तो फाल्स बन जाएगा ये चीज सुन के भी समझ में आ रही होगी ठीक है नॉट फल्स मतलब ट्रू नॉट ट्रू मतलब फाल्स ठीक है इस तरीके से लॉजिकल ऑपरेटर काम करता है लेकिन कोड में कैसे काम करता है जरा वो समझते हैं तो सपोज करो यहां पर फर्स्ट नंबर सेकंड नंबर इस तरीके से नहीं लिखा हुआ मैंने मैंने यहां पर कुछ और लिख दिया इस बार मैंने य पर लिख दिया बुलियन फर्स्ट एक्सप्रेशन इक्वल टू ट्रू और बुलियन सेकंड एक्सप्रेशन इक्व टू फाल्स ठीक है अब यहां पर मैंने फर्स्ट एक्सप्रेशन और सेकंड एक्सप्रेशन लिखा है जिनके अंदर मैंने डायरेक्टली वैल्यू डाल दया ट्रू और फॉल्स लेकिन हो सकता है आप यहां पर डायरेक्टली वैल्यू ना डालो आप हो सकते हैं यहां पर कुछ और डालो यहां पे आप हो सकता है एक फंक्शन से रिटर्न होके जो वैल्यू आ रही है वो या फिर इसमें हो सकता है आप ये लिख दो 12 ग्रेटर 16 ठीक है सॉरी 12 तो ये भी तो एक एक्सप्रेशन है राइट ये एक्सप्रेशन मुझे कुछ ना कुछ रिजल्ट लाके देने वाली है और मुझे पता है वो रिजल्ट क्या है ये रिजल्ट है यहां पे फॉल्स 12 > 16 ये तो हमेशा फाल्स रहने वाला है देखो यहां पे लिखा भी है तो ये कह रहा है सिंपलीफाई दिस टू फाल्स तो सिंपल इसको फाल्स कर देते हैं ठीक है सपोज करो फर्स्ट एक्सप्रेशन फॉल्स है सेकंड एक्सप्रेशन ट्रू है उसके बाद मुझे इनके अंदर अपने लॉजिकल ऑपरेटर लगाने है यह लॉजिकल ऑपरेटर जो है तोव मैं कैसे लगा सकता हूं तो सिंपल है ए आउट मैं यहां पर लिख सता हूं फर्स्ट एक्सप्रेशन एंड एंड लगाने के लिए दो बार एंड लगाना पड़ेगा आपको उसके बाद सेकंड एक्सप्रेशन इस तरीके से ठीक है तो फर्स्ट एक्सप्रेशन एंड सेकंड एक्सप्रेशन एंड का मतलब दो बार एम परसेंट साइन ये होता आपका एंड ऑपरेटर ठीक है तो मुझे पता है एंड ऑपरेशन ट्रू तब आता है जब दोनों के दोनों ट्रू हो या फिर फॉल्स तब आता है जब दोनों में से कोई भी एक भी फॉल्स हो ठीक है दोनों में से एक ही फॉल्स है तो यहां पर मुझे फॉल्स मिलने वाला है इसको हम रन करते हैं यहां पर देखो फाल्स मिल रहा है मुझे ठीक है उसके बाद अगर मैंने दोनों को ट्रू कर दिया तो मुझे यहां पर ट्रू मिलने वाला है इस तरीके से ठीक है एंड की जगह अगला होता है आपका और तो कमांड डी करके आप यहां पर और आ सकते हो यह होगा आपका और और करने के लिए इसको करते हैं दो बार पाइप साइन ठीक है ये वाला पाइप साइन आपको मिलेगा एंटर वाले बटन के ऊपर शिफ्ट दबा के उसको दबाओगे बैक स्लश वाले साइन के पास ही है ये तो तब आपको पाइप वाला य साइन मिलता है और फर्स्ट एक्सप्रेशन भी ट्रू है सेकंड एक्सप्रेशन भी ट्रू है तो और तो ट्रू आएगा ही लेकिन इन दोनों में से अगर कोई एक भी फॉल्स कर देता हूं मैं तो यह तब भी ट्रू आएगा तो आप देखोगे ऊपर वाला तो फॉल्स हो जाएगा ऊपर वाला फॉल्स इसलिए बिकॉज दोनों में से कुछ भी अगर एक भी फॉल्स है तो आपका एंड जो है वो फॉल्स बन जाता है ओवरल और नीचे वाला ट्रू इसलिए बिकॉज दोनों में से अगर एक भी ट्रू है तो आपका ट्रू बन जाएगा आप यहां पर इसको भी फॉलो कर सकते हो ये जो हमने ट्रू टेबल बनाई है यहां भी देख सकते हो कि ये फर्स्ट एक्सप्रेशन है फॉल्स दूसरी एक्सप्रेशन है ट्रू मतलब जीरो और वन तो रो और वन का एंड क्या है तो रो और वन का एंड है रो वहीं पर रो और वन का और क्या है रो और वन का और है वन ठीक है वन का मतलब ट्रू और जीरो का मतलब फाल्स तो इस तरीके से भी समझ सकते हो या फिर जो मैंने बताया आपको कि एंड ट्रू कब होगा जब दोनों ट्रू होंगे और एंड और ट्रू काब होगा जब दोनों में से कोई एक भी ट्रू होगा ये भी आप याद रख सकते हो इसके बाद अगला होता है नॉट और नॉट आपका सिंपल एक ही एक्सप्रेशन में काम करता है तो एस आउट मैं करूंगा यहां पर नॉट फर्स्ट एक्सप्रेशन तो फर्स्ट एक्सप्रेशन क्या है फर्स्ट एक्सप्रेशन है फॉल्स तो नॉट ऑफ फॉल्स क्या होगा नॉट ऑफ फॉल्स ट्रू राइट तो यहां पे ट्रू प्रिंट होने वाला है दिस इज ट्रू ट्रू मतलब नॉट ऑफ फॉल्स सिमिलरली नॉट ऑफ सेकंड एक्सप्रेशन करूंगा तो तो सेकंड एक्सप्रेशन है ट्रू तो नॉट ऑफ ट्रू क्या होता है फॉल्स राइट तो यहां पे फॉल्स प्रिंट होने वाला है इस तरीके से ठीक है तो ये आपके बहुत ही सिंपल लॉजिकल ऑपरेटर थे अगर आपको अभी भी समझ में जाए ना कि भैया इनका यूज कैसे कहां करेंगे तो इनका यूज हम देख रहे होंगे अगली क्लास में जहां पर हम पढ़ रहे होंगे इफस कंडीशन के बारे में वहां पर दो एक्सप्रेशन को क्लब करके कुछ कॉम्प्लिकेटेड कॉम्प्लेक्शन बनानी है तो वहां पर आप लॉजिकल ऑपरेटर यूज कर रहे होते काफी हैली तो ये होते हमारे बेसिकली लॉजिकल ऑपरेटर इसके बाद हम बात करते हैं बिट वाइज ऑपरेटर के बारे में ये बिट वाइज ऑपरेटर बेसिकली आपके बिट्स प काम करते हैं तो जैसे हमने पढ़ा था कि फ क्या होता है फ होता है आपका 10 राइट इन बिट तो इसके बिट्स के ऊपर अगर आपको कर बिट्स को आपको राइट शिफ्ट करना है या फिर आपको लेफ्ट शिफ्ट करना है या फिर इनके अंदर आपको और भी कुछ एंड ऑपरेशन करना है या फिर आपको और ऑपरेशन करना ये सब के आपके बिटवा ऑपरेटर होते हैं लेकिन इन सब को हम अभी नहीं पढ़ रहे होंगे क्योंकि अभी बहुत ज्यादा एडवांस टाइप का हो जाएगा य बिटवा ऑपरेटर हम पढ़ने लगेंगे ठीक है तो इनको हम पढ़ रहे होंगे फ्यूचर में बिट वाइज ऑपरेशन की जब हम बात कर रहे होंगे बिट मैनिपुलेशन की जब हम बात कर रहे होंगे ठीक है तो बिट मैनिपुलेशन के टाइम पर हम इनको अच्छे से पढ़ रहे होंगे बिट मैनिपुलेशन और त इनके ऊपर क्वेश्चन भी कर रहे होंगे ठीक है तो बिट वाइज ऑपरेटर को भी हम फिलहाल स्किप कर रहे हैं और इसके साथ अगली बात करते हैं च इ इंक्रीमेंट ऑपरेटर डिक्रिमेंट ऑपरेटर ये कुछ और ऑपरेटर बच जाते हैं इंक्रीमेंट बेसिकली होता है आपके प्लस प्लस और डिक्रिमेंट होता है आपके माइनस माइनस ये बेसिकली होता है जैसे सपोज करो आपने लिखा ए प्लस प्लस ठीक है आप सिंपल एक ही एक्सप्रेशन या फिर एक ही वेरिएबल प आप लिख सकते हो ए प्लस प्स और ये इक्विवेलेंट है लिखने के a इ ए प्व ठीक है तो आप चाहे तो a इ प्व लिखो या फिर ए प्स प्स लिखो बात बराबर है सिमिलरली आपने लिखा ए माइनस माइनस तो दिस इ इक्व टू राइटिंग a इ ए माइव ठीक है तो यह भी जरा देख लेते इसको आप बहुत जदा यूज करते हो फॉर लूप वगैरह के अंदर कि सपोज करो आपके पास है इन ए इ लेटस से 12 ठीक है और मुझे 12 के अंदर न ऐड करके 12 के अंदर वापस रिजल्ट में डालना है मतलब a इ ए प्व करना है ठीक है तो मैंने क्या किया ए के अंदर ड किया 12 के अंदर व ड किया 1 और उस रिजल्ट को मैंने वापस ए में डाल दिया तो मुझे पता है मेरा ए क्या हो जाएगा हो जाएगा 13 राइट हमें पता है इतना तो बहुत सिंपल है ठीक है य हो गया हमारा 13 सही बात है भैया लेकिन मुझे इसको ऐसे नहीं लिखना मुझे इसको सिंपल तरीके से लिखना ठीक है जो बढ़िया तरीका होता वो होता य ए प्स प्स दिस इ योर इंक्रीमेंट ऑपरेटर तो चाहे ये लिखो चाहे ये लिखो बात बराबर है तो इसको मैं करता हूं र वा लाइन को कमेंट तो मैंने आप क्या किया 12 उसके बाद a इ ए प्व दोबारा से कर दिया बा राइटिंग ए प्स प्लस और य अभी भी काम करेगा ठीक है इसको रन करते हैं और य पर देखो 1 प्रिंट हो रहा है एक चीज और अब बताओ मुझे आप क्या प्रिंट होगा मैंने य दोनों लाइन अनकमेंट कर द तो अब क्या प्रिंट होगा बताओ ठीक है तो अब प्रिंट होने वाला है य पर देखो 14 आप बो 14 कैसे प्रिंट हुआ क्योंकि इस वाली लाइन में य हो गया था हमारा 13 और अब 13 पर इंक्रीमेंट ऑपरेशन हो रहा है और अब ये हो जाएगा 14 ठीक है तो यहां पर इस लाइन ने इसको 13 कर दिया इस लाइन ने इसको 14 कर दिया और इसलिए यहां पर 4 प्रिंट हो रहा है सिमिलर टू दैट आपके पास होता है डिक्रिमेंट ऑपरेटर व्हिच इज a माइन माइनस a माइनस माइनस क्या करता है a माइनस माइनस बोलता है कि सुनो a को लो और उसके अंदर a = a - 1 कर दो तो आप ये लिखो चाहे ये लिखो a = a - 1 बात बराबर है ठीक है तो दिस इज योर डिक्रिमेंट ऑपरेटर अब बताओ जरा a की वैल्यू क्या प्रिंट होने वाली है इस टाइप के क्वेश्चन आते हैं आपके ठीक है अ असेसमेंट के अंदर ऑनलाइन असेसमेंट या फिर एमसीक्यू वगैरह दे देते हैं आपके एप्टीट्यूड के अंदर इस टाइप के क्वेश्चन आते हैं कि ए दे देंगे उसके बाद इसमें बंच ऑफ ऑपरेशन कर देंगे उसके बाद बोलेंगे बताओ व्हाट इज द आउटपुट तो बताओ तो आपको क्या करना है एक-एक स्टेप करके चलना है इस स्टेप में आपको हो जाएगा 13 इस स्टेप में हो जाएगा आपका 14 इस स्टैप में वापस हो जाएगा आपका 13 तो इसलिए एक ही वैल्यू आएगी आपकी 13 तो जरा रन करके देख लेते हैं इसे देखो 13 हो गया इस टेप में 13 कैसे हो गया बिकॉज़ 14 में से आपने एक नंबर माइनस कर दिया तो ये हो गया आपका वापस 13 ठीक है अगर मैं एक और बार कर दूंगा य माइनस माइनस तो क्या होगा इस स्टेप में हो जागा 13 और 13 के बाद अगले स्टेप में हो जाएगा ये 12 तो अब य पर 12 प्रिंट होने वाला है ठीक है तो दिस इ र प्लस ऑपरेशन इंक्रीमेंट ऑपरेशन एंड दिस इ र डिक्रिमेंट ऑपरेशन आई थिंक समझ में आ रहा होगा इस तरी से आपके इंक्रीमेंट डिक्रिमेंट काम करते हैं एंड नाउ वन अनदर ऑपरेटर च इस कॉल्ड टरनरी ऑपरेटर जो कि आपका इस तरीके से काम करता है ये आपके टन ऑपरेटर होते और इनको हम पढ़ रहे होंगे अगली क्लास के अंदर जब हम बात कर रहे होंगे इफल्स कंडीशन की क्योंकि ये उनके साथ ज्यादा मैच करते हैं टरनरी ऑपरेटर आपके बेसिकली इफल्स कंडीशन को एक लाइन में लिखने के काम में आते हैं तो ये हम देख रहे होंगे अगली क्लास के अंदर ठीक है इंक्रीमेंट एंड डिक्रिमेंट पढते टाइम तो डोंट वरी अबाउट दिस नाउ अब अगला हम बात कर लेते हैं टेकिंग यूजर इनपुट यूजिंग स्कैनर ये काफी इंपॉर्टेंट होता है क्योंकि कई बार आप नहीं चाहते कि आप ही नंबर लिखे जा रहे हो और यूजर कुछ नंबर नहीं लिख रहा सपोज करो आपने एक ऐसा कैलकुलेटर बना दिया जिसके ऊपर जब भी आप इक्वल हिट करते हो तो आपके प्री डिफाइंड नंबर्स को ही ऐड करके दे देता है वो ऐसे कैलकुलेटर कोई फायदा नहीं है राइट आप चाहते हो कि यूजर कुछ इनपुट दे उसके बाद वह ऐड करे तब मुझे कुछ रिजल्ट मिले ठीक है ऐसा कैलकुलेटर तो काम का भी है अपने ही जो नंबर प्री डिफाइंड है सपोज करो थ्री और फोर दो नंबर प्री डिफाइंड है उसके अंदर हमेशा हमेशा के लिए और थ्री और फोर को सेवन करके ही देता रहता ह पूरे टाइम तो जब भी बटन दबाओ वो सेवन देता रहेगा किसी काम का नहीं राइट आप चाहते हो कि आपका कोड यूजर इनपुट ले यूजर पता है कि क्या-क्या नंबर होने वाले हैं उसके हिसाब से काम करें तो आप वहां पे यूजर इनपुट लेते हो और यह बहुत इंपॉर्टेंट हो जाता है ठीक है तो जरा देखते हैं यूजर इनपुट कैसे काम करता है काफी कमाल का कांसेप्ट है यह भी तो यह बेसिकली काम करता है आपका बाय यूजिंग स्कैनर स्कैनर क्या है भैया तो स्कैनर बेसिकली एक क्लास है जो जावा ने ऑलरेडी बना रखी है आपके लिए दिस इज अ प्री डिफाइंड क्लास इन जावा तो जेडी की के अंदर आपको एक क्लास मिलती है कहां मिलती है तो इस पैकेज में मिलती है जावा यूल उसके अंदर एक स्कैनर क्लास होती है ठीक है तो ये जावा और यूट दीज आर टू पैकेजेस और इनके अंदर हमारे पास स्कैनर फाइल होती है जिसके अंदर हमारे स्कैनर क्लास मिलती है और इसकी हेल्प से हम लोग इनपुट ले सकते हैं तो करना क्या होता है सबसे पहले इसका एक ऑब्जेक्ट बनाना होता है ऑब्जेक्ट बनाने के लिए ऐसे ऑब्जेक्ट बनाते हैं अभी फिलहाल कैसे ऑब्जेक्ट बनते हैं बाकी हम पस के अंदर ऑब्जेक्ट को बनाना सीख रहे होंगे क्लासे ऑब्जेक्ट को अच्छे समझ रहे होंगे क्या होते हैं लेकिन अभी फिलहाल आप रट लो कि आप ऐसे लाइन लिखते हो प आप लिखते स्कैनर उसके बाद इस ऑब्जेक्ट का कुछ भी नाम आप ले सकते हो सपोज करो एससी इक्व न्यू स्कैनर आपने य इसका कंस्ट्रक्टर कॉल कर दिया फिर सिस्टम डॉट इन इस कंस्ट्रक्टर के अंदर आपने यह पास कर दिया उसके बाद जब भी आपको इनपुट लेना है सपोज करो इंटी जर इनपुट लेना तो आप लिखोगे एसी डटने इ यहां से आप इन इंटी जर इनपुट ले पाओगे आपको सपोज करो फ्लोट इनपुट लेना तो एसी डॉट नेक्स्ट फ्लोट य से फ्लोट वल इनपुट ले पाओगे अगर आपको एक लाइन इनपुट लेनी है तो आप खगे एडॉट नेक्स्ट लाइन लाइन या फिर आप स्ट्रिंग कलो एक ही बात है लाइन कह लो एकड नेक्स्ट लाइन से भी हो पाता है और एड नेक्स्ट से भी हो पाता है तो यह बेसिकली आप कुछ मेथड होते है ठीक है तो जरा इनको देखते हैं वेरियस टाइप मैंने यहां पर वसे लिखे हुए हैं आपके पास नेक्स्ट लॉन्ग होता है लॉन्ग लेने के लिए फ्लोट होता फ्लोट लेने के लिए डबल होता है डबल के लिए नेक्स्ट होता है स्ट्रिंग के लिए ठीक है इस तरीके से ल्स इट इ रिकमेंड टू क्लोज द स्कैनर ऑब्जेक्ट बाय यूजिंग द क्लोज मेथड तो ये भी जरा देख लेते हैं तो जरा स्कैनर को समझते हैं ठीक से तो उसके लिए मैं आऊा बेसिक टू के अंदर अगेन एक और बना लेते हैं न्यू क्लास और इसका नाम रख देते हैं हम यूजर इनपुट और अगेन स्टैटिक वॉइड मेन सबसे पहले हम बनाना है स्कैनर क्लास का ऑब्जेक्ट ठीक है तो स्कैनर क्लास का ऑक्ट बनाने के लिए स्कैनर को हमें इंपोर्ट करना होगा वैसे तो बाय डिफॉल्ट अपने आप मतलब ऑटो इंपोर्ट कर लेता है लेकिन आपको ऐसे इंपोर्ट करना चाहिए इंपोर्ट जावा डॉयल ड स्कनर बेसिकली इंपोर्ट करके ले आया आपको पता नहीं क्लास कहां पर है इंपोर्ट वगैरह हम पढ़ेंगे अगेन फ्यूचर में मैं जो कह रहा था पहली क्लास के अंदर कि यहां पर आपको लीप ऑफ फ लेना पड़ेगा वरना आप एक एक चीज कार मतलब लग के ना कि इंपोर्ट क्या है मुझे बताओ भैया जावा कहां है यूल कहां है तो आप खो जाओगे पढ़ने आगे नहीं बढ़ पाओगे कुछ चीजों को आप अभी फिलहाल लेके चलो कि हां ठीक है ये चीजें रखनी पड़ेंगी ये चीजें लिखनी ही होती है धीरे-धीरे करके आपको समझ में आ लगा सब कुछ अच्छा इंपोर्ट करना पड़ता है उन पैकेजेस को जो आपके पैकेजेस इंपोर्टेड नहीं है इंपोर्ट करके लानी पड़ती है क्लासेस ठीक है क्लासेस के ऑब्जेक्ट इस तरीके से बनते हैं अच्छा स्कैनर एस इ ू न्यू स्कैनर ओके इसके अंदर हमें ये पास करना है सिस्टम . इ ठीक है उसके बाद मुझे इंटी जर इनपुट लेना है तो इंट लेट्स से मैं ए इनपुट ले रहा हूं इंट ए इ एड नेक्स्ट यहां पर आपने जैसे ही लगाया एसी डॉट उसके बाद आप देख पा रहे हो बाइट इनपुट लेना है तो नेक्स्ट बाइट है नेक्स्ट इंट है इनपुट इंटी जर इनपुट लेने के लिए नेक्स्ट आपका स्ट्रिंग इनपुट लेने के लिए ठीक है और भी काफ सारे मिल जाएंगे इसके अंदर तो एडॉट नेक्स्ट इंट इस तरीके से और एक काम करते हैं पहले एस आउट लिख लेते हैं एंटर योर एज इस तरीके से तो हमने यूजर को बोलना अपनी एज एंटर करो उसके बाद यूजर अपनी एज एंटर करेगा उसके बाद हम यहां पर प्रिंट कर सकते हैं उसकी एज एस आउट योर एज इज अब आपको यहां पे एज प्रिंट करनी है तो एज कैसे लिखोगे यहां पे अगर आपने लिख दिया सिंपल एज तो आपको पता है ये तो काम नहीं करेगा राइट एज आपका स्ट्रिंग में चला जाएगा तो उसके लिए हमें क्या करना होता है यहां पे ऐसे मत लिखो यहां प आप लगाओ प्लस उसके बाद आप लिख दो एज ठीक है तो इससे आपने क्या किया स्ट्रिंग के अंदर आपने कंकट कर दिया स्ट्रिंग के अंदर आपने बेसिकली इस वेरिएबल को ऐड कर दिया तो स्ट्रिंग के अंदर आपने एज को डाल दिया और एक नई स्ट्रिंग बना दिया जब हम स्ट्रिंग को पढ़ रहे होंगे अच्छे से तब हम समझेंगे कि स्ट्रिंग के अंदर बेसिकली कंकट ऑपरेशन होता है लेकिन प्रिंट करने के लिए आप इस तरीके से प्रिंट करते हो किसी भी वेरिएबल को राइट आपने स्ट्रिंग प्रिंट करनी है उसके बाद आपको एज प्रिंट करना है तो आपको बीच में ये प्लस लगाना पड़ेगा जिससे आपका स्ट्रिंग के अंदर कंकट हो जाता है इस तरीके से ठीक है जरा इसे रन करके देखते हैं स जब मैंने रन किया तो आप यहां पर देख रहे हो प्रोग्राम अभी मेरा चल रहा है यहां पर मेरा प्रोग्राम अटक गया है देख रहे यहां पर ये आ रहा है कर्सर बन के एंटर योर एज लिखा और यहां पर अटक गया है बिकॉज़ ये मेरे से एक्सपेक्ट कर रहा है कि मैं इसके अंदर कुछ इनपुट दूं मैं यहां पर अपनी इनपुट देता हूं 26 उसके बाद मैं करता हूं हिट एंटर तो यहां पर देखो इसने प्रिंट कर दिया योर एज इज 26 ठीक है तो इस तरीके से आप इनपुट ले सकते हो यूजर से अब तो अब आपको समझ में आ रहा होगा कि कैसे मैं कैलकुलेटर के अंदर अब दो नंबर जो है वो ऐसे बना सकता हूं कि मैं खुद से यूजर से इनपुट लूं दो नंबर्स और उसके बाद उनको ऐड वगैरह करके रिजल्ट शो करूं ठीक है तो सपोज करो मैं यहां पर एज वाले एग्जांपल को हटाता हूं और ये सब कैसे पॉसिबल हो पाया बिकॉज ऑफ क्रिएटिंग दिस ऑब्जेक्ट यूजिंग स्कैनर ठीक तो सपोज कर य पर लेता हूं इंट फर्स्ट नंबर इ एडनेट उसका इंट सेकंड नंबर इ एड नेक्स्ट इंट उसके बाद मैंने किया इंट रिजल्ट इक्व टू फर्स्ट नंबर प्स सेकंड नंबर उसके बाद मैंने प्रिंट कर दिया रिजल्ट को ठीक है तो इसको जरा रन करते हैं तो आप देखोगे यहां पर ये अटक गया है तो सबसे पहले मुझे इसमें फर्स्ट नंबर बताना है लेट्स से 23 सेकंड नंबर बताना है लेट्स से फोर फिर इसके बाद मैं एंटर करूंगा तो यहां पर इसने अपने आप 27 प्रिंट कर दिया ठीक है तो अब नो मोर यू आर राइटिंग अ कोड जहां पर अपने आप ही आपने फिक्स नंबर डाल रखे नहीं अब आप यूजर से इनपुट मांग रहे हो कि बताओ भाई 23 और 4 तो मैं बताऊंगा आपको 27 रिजल्ट इस तरीके से ठीक है तो ये था आपका एने इं अगर आपको इंट वैल्यू इनपुट लेनी है यूजर से लेकिन आपको कोई बड़ा नंबर लेना है सपोज करो लॉन्ग इनपुट लेना है तो उसके लिए आपके पास होता है एड नेक्स्ट लंग इस तरीके से ठीक है तो लॉन्ग लिया यहां पर आपको समझ में आ रहा होगा एर क्यों आ रहा है क्योंकि आपके पास एक सेकंड नंबर है च इज द लॉन्ग और उस लंग के रिजल्ट को आप इंट में स्टोर कर रहे हो तो बेसिकली आप यहां पर लॉस कर रहे हो अपने डटा का ठीक है डेटा में लॉस हो सकता है इस टाइम पर तो अगर डटा में लॉस करना चाहते हो और आप चाहते हो कि कोई दिक्कत नहीं डेटा में लॉस होने दे तो आप यहां पर क्या कर सकते हो इसको प कास्ट कर सकते हो इट के अंदर राइट इस पूरे रिजल्ट को भाई रिजल्ट जो भी आ रहा है ना लॉन्ग का आने दे लेकिन जो रिजल्ट आ रहा है उसको टाइप कास्ट कर दो इस तरीके से इंट में तो अब ये इंट में रिजल्ट चला जाएगा ठीक है तो सब कुछ कनेक्टेड है यार आपस में सब कुछ जो अभी त हमने पढ़ा था राइट तो अब हमारा 12 और लेट्स से फ तो यहां पर 17 प्रिंट हो गया आपको फ्लोट लेना है तो यू कैन राइट नेक्स्ट फ्लोट इस तरीके से और इस फ्लोट को लेकर मैं डालता हूं लेट्स से फ्लोट में ये मेरा फ्लोट फर्स्ट नंबर है यह मेरा सेकंड नंबर है जो रिजल्ट है वो मेरा इंट में चला जाएगा तो अब मैं यहां पर फ्लोट वैल्यू भी ले सकता हूं 12 प ये सब उसके बाद अगला नंबर है ये रिजल्ट आया 24 रिजल्ट 24 आया रिजल्ट में 12 के बाद 24.2 3424 क नहीं आया वो बेसिकली नहीं आया क्योंकि रिजल्ट आपने य पर इंट बना रखा है अगर आप रिजल्ट को बना दोगे फ्लोट और यहां पर भी आप इसे कन्वर्ट कर दोगे फ्लोट के अंदर इस तरीके से तो आपका य पर रिजल्ट फ्लोट में आ जाएगा एक्चुअली य पर इसे कन्वर्ट करने की जरूरत नहीं है बिकॉज दिस इ ऑटोमेटिक टाइप कास्ट इनटू फ्लोट राइट रन करते हैं 12 पॉइंट लेट से ये सब उसके बाद फो ये आपका 16 प समथिंग हो गया ठीक है तो इस तरीके से आपका ये टाइप कास्टिंग भी काम कर रहा है आपको समझ में आ रहा होगा ये इनपुट भी ले पा रहे हैं हम यहां पर और स्कैनर काम कर रहा है इसके बाद एक और चीज जो मुझे बतानी है वो यह कि इट इज रिकमेंड टू क्लोज द स्कैनर ऑब्जेक्ट यूजिंग वंस द इनपुट इज टेकन यूजिंग द क्लोज मेथड और ये रिकमेंडेटरी कलेक्टर सॉरी कार्बज कलेक्टर और कार्बज कलेक्टर काम होता है जो भी ऑब्जेक्ट बने हैं जिनका यूज नहीं हो रहा है उनको गार्बेज कलेक्ट कर देना मतलब उनको निकाल देना मेमोरी में से अगर आप ऐसा नहीं करते तो आप बेसिकली मेमोरी लीक कर रहे हो मेमोरी लीक मतलब आपने मेमोरी के अंदर एक ऐसी चीज बना दी है जो कि कोई और कंप्यूटर भी को कभी यूज नहीं कर सकता बिकॉज कंप्यूटर को पूरे टाइम लगेगा कि ये मेमोरी अभी भी यूटिलाइज हो रही है तो आपने क्या किया यहां पे स्कैनर एससी इ न्यू स्कैनर करके जब आपने एक स्कैनर ऑब्जेक्ट बनाया तो स्कैनर एससी ये जो ऑब्जेक्ट है ये अभी आपकी कुछ मेमोरी ले रहा है राइट और कंप्यूटर को लग रहा है अभी भी कि यार शायद इसकी रिक्वायरमेंट है अभी भी ठीक है तो आपको बोलना है कि नहीं भाई अब इसकी रिक्वायरमेंट नहीं है अब आप इसे क्लोज कर दो तो जब आपने इसे क्लोज कर दिया ना तो जावा का गज कलेक्टर इजीली इसको रिमूव कर देगा मेमोरी में से अगर आपको समझ में नहीं आ रहा गार्बेज कलेक्टर वगैरह क्या है तो अभी हम आगे फ्यूचर में पढ़ेंगे बेसिकली गार्बेज कलेक्टर क्या करता है जो भी अन यूज्ड मेमोरी ऑब्जेक्ट्स है उनको धीरे-धीरे करके मेमोरी में से अपने आप प क्लीन अप करता रहता है सो दैट जावा इसलिए कहते जावा बहुत सेक है ठीक है क्योंकि इसके अंदर अनवांटेड मेमोरी नहीं पड़ी होती ठीक है कटर नहीं पड़ा रता मेमोरी का अपने आप ही क्लीन करता रहता है तो आपको खुद से क्लीन करने की इसके अंदर जिम्मेदारी नहीं रहती इसके अंदर ऑलरेडी एक गार्बेज कलेक्टर डाला हुआ है लेकिन अगर आपने एसी डॉट क्लोज करके उसे बताया नहीं एक्सप्लीसिटली कि नहीं भाई अब ऐसा काम हो चुका है यू कैन नाउ क्लोज दिस यू कैन नाउ डंप दिस मेमोरी ठीक है तब तक ये करेगा नहीं तो इसलिए ये लगाना पड़ता है तो दिस इज अ रिकमेंड प्रैक्टिस अगर आप नहीं भी करोगे तो ऐसा नहीं कि कोड फटेगा आपका इट्स जस्ट अ रिकमेंड प्रैक्टिस टू अवॉइड मेमोरी लीकेज तो इस तरीके से आपका स्कैनर काम करता है और इस क्लास के अंदर हमने ये सब देख लिया ठीक है इनपुट वगैरह लेना देख लिया अगर आपको अभी भी समझ में नहीं आया है तो इसके अंदर आप चीजें पूछ सकते हो हमसे अगेन और ऑपरेटर्स वगैरह कैसे काम करते हैं ये हमने देखे इसी साथ अगली क्लासेस में हम बात कर रहे होंगे आगे इफल्स कंडीशन की और कंडीशन ऑपरेटर्स की इसके अलावा जो हमने दिया आज वो टरनरी ऑपरेटर वो भी देख रहे होंगे अगली क्लास के अंदर ठीक है चलते हैं बाय बाय हे व्ट्स अप गाइस अनुज र और अभी तक हमने जावा के अंदर काफी सारे प्रोग्राम्स बना लिए हैं कुछ-कुछ बेसिक प्रोग्राम्स हमने देखा कि यूजर इनपुट कैसे लेते हैं ऑपरेटर्स कैसे काम करते हैं डेटा टाइप्स हमने देख लिए आज उन्हीं लर्निंग्स को आगे लेके जा रहे होंगे और कुछ और नए कांसेप्ट भी सीख रहे होंगे आज बेसिकली हम कंडीशनल स्टेटमेंट सीखने वाले हैं कि इफ एल्स कैसे काम करता है स्विच स्टेटमेंट कैसे काम करती है और भी मल्टीपल चीजें हम देख रहे होंगे आज के इस वीडियो के अंदर ठीक है तो आज हम पढ़ने वाले हैं इफ एल्स स्टेटमेंट इफ एल्स इफ स्टेटमेंट कैसे काम करती है देन हम देखेंगे नेस्टेड कैसे काम करता है फल्स ठीक है इन सभी को एग्जांपल के समझ रहे होंगे और हमने जो लास्ट क्लास के अंदर पढ़े हैं नाभी जितनी भी चीजें पढ़ी है वो सब दोबारा से यूज हो रही होंगे बेसिकली आपके ऑपरेटर्स यूज हो रहे होंगे आपके लॉजिकल ऑपरेटर्स यहां पर दोबारा से हम देख रहे होंगे कैसे काम करते हैं राइट इसके अलावा जो टरनरी ऑपरेटर हमने लास्ट क्लास में छोड़ दिया था वो आज हम देखने वाले हैं इसके बाद हम स्विच स्टेटमेंट भी देख रहे होंगे तो ऑल दिस टॉपिक्स हम देखने वाले हैं एकएक करके तो सबसे पहले जावा कंडीशनल स्टेटमेंट की रिक्वायरमेंट क्या है इसकी रिक्वायरमेंट क्या है तो अभी तक हमने देखा था कि हमारे जो प्रोग्राम है वो एक के बाद एक लाइन में काम कर रहा है राइट सपोज करो यह लाइन नबर वन है यह लाइन नबर टू है यह लाइन नंबर थ्री है तो हमारा कोड ऊपर से लेकर नीचे तक ऐसे चलता है कि इस वाली लाइन के अंदर जैसे कि आपको पता होगा पहले आपने लिखा इंट a = 4 लेट्स से उसके बाद आपने यहां पे प्रिंट करा लिया तो प्रिंट कराने के लिए मैं यहां पे शॉर्टकट में लिख देता हूं s आउट और यहां पे a प्रिंट कराया आपने राइट तो आपका कोड पहले यहां गया फिर इसके बाद नीचे वाली लाइन में गया राइट अभी तक ऐसे कोड हमारा काम कर रहा है लेकिन प्रोग्रामिंग के अंदर आपका यह सीधा ही चलता रहे जरूरी नहीं है जैसे जिंदगी के अंदर हमारा एक रोड होता है राइट लाइफ लेसन लेते हैं एक कि आपका यह रोड है इस रोड प आप सीधे चलते जा रहे हो लेकिन कभी ना कभी एक टाइम आएगा जब आके आपको डिसीजन लेना पड़ेगा कि या तो मुझे इस साइड जाना है या फिर इस साइड जाना है राइट आप चलते आ रहे थे या तो मुझे यहां जाना है या फिर यहां जाना है तो यहां पर आपका दिमाग काम करता है और यहां पर आप एक डिसीजन लेते हो एक कंडीशन के बेसिस पर डिसीजन लेते हो कि अगर मुझे जाना है आज सपोज करो संडे है तो आज मुझे अपने घर जाना है और अगर संडे नहीं है तो मुझे ऑफिस जाना है राइट इस तरीके से आप डिसीजन लेते हो तो सिमिलर टू दैट हमारी प्रोग्रामिंग के अंदर भी होता है कि आप का कोड चल रहा है ऊपर से लेकर नीचे तक सपोज करो एग्जांपल लेते हैं कि आप वोट दे सकते हो कि नहीं दे सकते राइट तो अगर आपकी एज ग्रेटर दन 18 है तो आप वोट दे सकते हो तो यहां पर हम एक कंडीशन लगा देंगे कि एज ग्रेटर दन 18 अगर ये कंडीशन ट्रू है तो आप यहां पर जाके यहां चले जाओगे और अगर ये कंडीशन फॉल्स होती है कि अगर आपकी एज ग्रेटर दन 80 नहीं है तो आप यहां चले जाओगे तो डिपेंड करता है आपकी एज के ऊपर फिर कि आपकी एज क्या थी शुरुआत में सपोज करो आपकी एज थी फोर तो आप आओगे इधर आपकी कंडीशन चेक होगी कि आपकी एज फोर है व्हिच इज नॉट ग्रेटर दन 18 तो इसका मतलब आप लेफ्ट साइड आ जाओगे और आप वोट नहीं दे सकते यहां पे अगर आप दे पाते अगर सपोज करो आपकी एज होती 24 तो आपकी ये कंडीशन ट्रू होती है और आप यहां पर वोट दे पाते तो इस टाइप की चीजें अगर आपको अपने कोड में लिखनी है तो उसके लिए आपको इफ एल्स कंडीशन की जरूरत पड़ती है वच आर कॉल्ड कंडीशनल स्टेटमेंट्स इन जावा तो उनको देखते हैं कैसे काम करती है वो तो सबसे पहले हम बात करेंगे इफल स्टेटमेंट की बहुत ही सिंपल स्टेटमेंट होती है ये तो सीधा कोड में चलते हैं वहां पर हमें बहुत अच्छे समझ में आने वाला है अब इसके अंदर एक फाइल बनाते हैं न्यू जावा क्लास और इसका नाम रख देते हैं लेट्स से इफ एल्स ट जावा ठीक है और इसके अंदर हम बनाएंगे एक पब्लिक स्टैटिक वॉइड मेन हिट टैब और सपोज करो अगेन वही एज वाला एग्जांपल लेते हैं वोट देने का तो इन एज इक्वल्स टू लेट्स से फर उसके बाद एस आउट यहां पर मैं लिख देता हूं यू कैन वोट तो अभी क्योंकि मैंने कोई भी कंडीशनल स्टेटमेंट नहीं लगाई है तो बंदे की अगर एज फोर भी है तो भी यह वोट दे सकता है राइट अभी अगर हम इसे रन करते हैं तो आप देखेंगे यहां पे लिखा रहा है यू कैन वोट यह बंदा वोट दे सकता है जबकि इसकी जज फोर है सिर्फ तो इस चीज को अवॉइड करने के लिए य पर कंडीशन स्टेटमेंट लगानी चाहिए राइट तो यहां पर चेक करेंगे अपना दिमाग लगाएंगे हम देखेंगे ज यहां पर कोई ना कोई कंडीशन आनी चाहिए राइट इधर कोई ना कोई कंडीशन आनी चाहिए इफ एज इज ग्रेटर देन और इक्वल टू 18 इंडिया में तो यही है अगर ए ग्रेटर दन इक्वल ट 18 है तभी आप वोट दे सकते हो तो उसके बाद इस चीज को यहां पर लिख देंगे ठीक है इफ ए इ ग्रेटर दन इक्ट 18 तभी आप वोट दे सकते सते हो तो अब इसे चला के देखते हैं देखते हैं क्या होता है दोबारा रन करूंगा मैं और आप देखोगे यहां पर कुछ भी प्रिंट नहीं हुआ इस बार तो अब यह बंदा वोट नहीं दे पाया ठीक है तो आपको समझ में आ रहा होगा कि कितना ज्यादा पावरफुल है ये स्टेटमेंट इफ स्टेटमेंट तो आपको करना क्या होता है इफ लिखना होता है उसके बाद पैरेंस के अंदर आपको एक कंडीशन लिखनी होती है जो कंडीशन रिटर्न करेगी या तो ट्रू या फाल्स ठीक है यहां पर आपकी जो कंडीशन है वो ट्रू या फाल्स रिटर्न करनी चाहिए और आपको पता है कि जो बीच में मैंने चीजें लगाई है दस आर कॉल्ड कंडीशनल ऑपरेटर राइट क कंपेरिजन ऑपरेटर्स और यह चेक करके बताते हैं आपको ट्रू या फाल्स रिटर्न करते हैं तो क्या एज ग्रेटर दन 18 है तो हम देखते हैं एज हमारी फोर है व्हिच इज़ नॉट ग्रेटर दन 18 तो यह वाली कंडीशन से हमें मिला फॉल्स अगर यहां से फॉल्स मिलेगा तो हम इफ कंडीशन को एग्जीक्यूट नहीं करेंगे बेसिकली इफ के बाद जो भी लिखा होगा वह हम चलाएंगे नहीं अगर यहां पे लेकिन आपकी ए सपोज करो 24 है और तब आप चलाते हो इसको तो आप देखोगे यहां पर प्रिंट हो रहा है यू कैन वोट ठीक है तो अब हमें वह हमारा जो लॉजिक था जो हमें चाहिए था कि अगर ग्रेटर दन 24 18 है तभी वोट दे सकता है व आप काम कर रही है ठीक से इसके बाद एक और चीज़ देख लेते हैं कि अभी फिलहाल आपने सिर्फ इफ के बाद एक ही लाइन लिखी है व्ट इफ आप दो लाइन लिखना चाहते थे सपोज करो एस आउट यहां पर लिखना चाहते थे गुड मॉर्निंग और इसको भी मैं इसी के अंदर डालना चाहता हूं तो अभी फिलहाल आप देखोगे किय दोनों लाइने प्रिंट हो जाने वाली है लेकिन आप बोलोगे हां भया यह तो होना ही चाहिए था इफ वाली कंडीशन ट्रू है तो दोनों लाइने प्रिंट होंगी ही होंगी लेकिन यहां पर गलत है एक चीज मैं बताता हूं अब सपोज करो एज फोर है सिर्फ ठीक है अब यहां पर इसकी एज है फोर और ये वाली कंडीशन हमें पता है फॉल्स देने वाली है इसका मतलब दोनों लाइने प्रिंट नहीं होनी चाहिए राइट दोनों लाइनें प्रिंट नहीं होनी चाहिए लेकिन ऐसा नहीं होगा आप देखोगे कि ऊपर वाली लाइन तो प्रिंट नहीं हुई नीचे वाली लाइन लेकिन फिर भी प्रिंट हो गई है तो यहां से हमें क्या समझ में आता है कि ये सिर्फ पहली लाइन को संभालता है अगर आपने यहां पर एक ब्लॉक नहीं बनाया ठीक है इफ कंडीशन के बाद अगर आपने कोई ब्लॉक नहीं बनाया तो वो सिर्फ पहली लाइन को हैंडल करेगा तो आपको ब्लॉक में डालनी चाहिए दो चीजें ठीक है पहला ब्लॉक स्टार्ट यहां से होगा कर्ली ब्रेस से और खत्म यहां पे हो जाएगा इस तरीके से तो अब इस ब्लॉक में जो भी आपने लिखा है वो इस इफ के अंदर आ जाएगा बात समझ में आ रही है तो अब आप देखोगे गुड मॉर्निंग भी प्रिंट नहीं होगा अब यहां पर गुड मॉर्निंग भी प्रिंट नहीं हुआ क्यों क्योंकि एज ग्रेटर दन 18 नहीं है इसलिए इसके अंदर इफ वाला ब्लॉक एग्जीक्यूट नहीं हुआ है तो दिस इज हाउ इफ वर्क्स लेकिन सपोज करो आपको एल्स भी चलाना था कि बंदा वोट दे सकता है या फिर बंदा वोट नहीं दे सकता है राइट अभी फिलहाल अगर इसकी एज फोर है तो हम यहां पर कुछ भी नहीं लिख रहे सि लेकिन हम चाहते हैं कि नहीं अगर एज ग्रेटर दन 18 है तब तो वोट दे सकता है लेस दन 18 है तो वोट नहीं दे सकता ये भी प्रिंट करना है हमें तो उसके लिए हम लगाएंगे एल्स इस तरीके से आप लगा सकते हो एल्स उसके बाद अगेन ओपनिंग ब्रैकेट और क्लोजिंग ब्रैकेट क्लोजिंग ब्रैकेट आप देख रहे हो अपने आप इसके अंदर लग गया यह इंटेलीज की खास बात है कि आप अगर सिर्फ ओपनिंग ब्रैकेट लगाओगे तो क्लोजिंग ब्रैकेट अपने आप ही लगा देता है तो एल्स के अंदर यहां पर मैं लिख सकता हूं वो चीज है जब यह कंडीशन फॉल्स हो तब एग्जीक्यूट हो राइट तो मैं यहां पर लिखता हूं एस आउट और यहां पर लिखता हूं यू कैन नॉट वोट तो अब क्या होगा अगर एज ग्रेटर दन 18 है तब तो आप वोट दे सकते हो तब तो वाली कंडीशन ट्रू होगी अगर एज ग्रेटर दन 80 नहीं है तो आप वोट नहीं दे सकते ये वाली कंडीशन होनी चाहिए ट्रू ठीक है तो ये वाली चीजें चलनी चाहिए बेसिकली तो लेट्स रन इट अगेन और यहां पर आप देखोगे यू कैन नॉट वोट प्रिंट हो रहा है ठीक है तो यहां पर तो एज फोर है तो इसका मतलब ये वाली कंडीशन फॉल्स है ये वाली कंडीशन फाल्स है तो इसका मतलब एल्स चला दो बात समझ में आ रही है अगर ट्रू हुआ इफ के अंड अंदर की कंडीशन तो आपका इफ वाला ब्लॉक एग्जीक्यूट हो जाएगा अगर फॉल्स हुआ तो एल्स वाला ब्लॉक एग्जीक्यूट हो जाएगा बहुत सिंपल था ये तो यहां पर वही चीजें लिखी हुई है द इफ स्टेटमेंट एक्यूट अ सर्टन सेक्शन ऑफ अ कोड इफ द टेस्ट एक्सप्रेशन इज इवेलुएटेड टू ट्रू स्टेटमेंट इनसाइड द बॉडी ऑफ एल्स ब्लॉक आर ए क्यूटे इफ द टेस्ट एक्सप्रेशन इनसाइड इज इवेलुएटेड टू फॉल्स तो बेसिकली अगर इफ के अंदर कुछ भी लिखा हुआ है दिस इज योर एक्सप्रेशन राइट टेस्ट एक्सप्रेशन जो कहते हैं अगर इसकी वैल्यू ट्रू होती है तो आपका इफ के अंदर जो भी कुछ लिखा होगा अगर वैल्यू ट्रू है तो यहां पर आएगा एल्स आपकी वैल्यू अगर फाल्स है तो यहां पर आ जाओगे तो अगर इस एक्सप्रेशन की वैल्यू फाल्स है तो आप एल्स में आ जाओगे अगर ट्रू है तो आप इफ के अंदर आओगे ये बहुत सिंपल सा कांसेप्ट था इसकी हेल्प से ही आप लोग यह काम कर पा रहे हो ठीक है इसकी हेल्प से आप लोग यह वाला काम कर पा रहे हो कि आप यहां पर चेक कर सकते हो कि डे डे कौन सा है अगर डे मेरा आज सपोज करो संडे है अगर डे मेरा संडे है वन है सपोज करो तब तो मैं यहां पर होम पर जाऊंगा अगर डे वन नहीं है कुछ और है तो मैं ऑफिस में चला जाऊंगा सिंपल सा तो अगर आपको यह वाला बनाना है कि अगर डे वन है तो आपको ऑफिस जाना है तो वो वा अगर आपको कोड लिखना है तो आप कोड कैसे लिखोगे ये वाला मैं लिख देता हूं यहां पर पहले आप ट्राई करो उसके बाद मैं लिखता हूं ठीक है तो इंट डे इक्वल्स टू लेट्स से वन इफ डे इज वन तो प्रिंट होना चाहिए गो टू होम एल्स कोई और सा डे है तो गो टू ऑफिस इस बंदे का सैटरडे को भी ऑफ नहीं होता ठीक है तो अगर सिर्फ संडे संडे को ऑफ होता है तो ये बंदा डे वन है तभी होम में जाएगा अदर वाइज और कोई सा डे होगा तो ये ऑफिस जाएगा इसको चला के देखते हैं तो आप देखोगे गो टू होम लिखा रहा है बिकॉज डे वन है लेकिन अगर वन के अलावा कोई और डे है लेट्स से डे फाइव है और अगर अब हम इसे रन करेंगे तो आप देखोगे गो टू ऑफिस प्रिंट हो रहा है ठीक है सिंपल सा कांसेप्ट था ये ए फल्स का समझ में आ गया होगा इसके बाद थोड़ा आगे मूव करते हैं और बात करते हैं इफ और एल्स इफ का एल्स इफ ये भी एक बहुत इंपोर्टेंट कांसेप्ट होता है जैसे मैंने बताया था कि जिंदगी में आपके पास एक रोड होता है राइट आप इस रोड पर चलते जा रहे हो चलते जा रहे हो लेकिन हमेशा जरूरी नहीं कि आपके पास दो ही रास्ते हो आगे चलके कई बार तेरा भी आ सकता है इस तरीके से राइट तीन रास्ते हो सकते हैं कि मैं यहां जाऊं मैं सीधा जाऊं या फिर मैं यहां जाऊं राइट तीन रास्ते हो सकते हैं सिमिलरली कोड के अंदर भी हो सकता है कि आपको यहां जाना है या यहां जाना है या यहां जाना है या फिर तीन क्यों हो सकता है चार रास्ते हो या फिर पांच रास्ते हो इतने सारे रास्ते भी हो सकते हैं तो इस टाइप की चीजें अगर आपको लिखनी है तो उसके लिए आपका काम में आता है एल्स इफ ठीक है अभी अभी तक हमने जो देखा वो था सिर्फ इफ और एल्स लेकिन बीच में आप जितने मर्जी एल्स इफ लगा सकते हो तो सपोज करो कि अगर इफ कंडीशन ट्रू हुई तो मैं तो यहां जाऊंगा अगर इफ कंडीशन ट्रू हुई तो मैं यहां जाऊंगा और अगर एल्स कंडीशन ट्रू हुई तो मैं यहां जाऊंगा ठीक है एल्स हुई तो यहां जाऊंगा लेकिन इन सभी जगहों पे एल्स इफ के अंदर मल्टीपल कंडीशन डाल सकता हूं मैं एल्स इफ एक ये हो गया एल्स इफ एक ये हो गया और एल्स इफ एक ये हो गया इस तरीके से मल्टीपल एलस इफ बना सकता हूं मैं अगर यहां पर समझ में नहीं आ रहा तो अभी मैं कोड में करता हूं वहां पर आपको समझ में आने वाला है ये बहुत इजली इसी वाले एग्जांपल के अंदर आ सपोज करो डे वन पे होम डे टू पे विलेज और डे थ्री पर पार्टी जाना है तो कैसे कर सकते हैं हम यहां पे हम यहां पे इफ और एल्स के बीच में मल्टीपल एल्स इफ लगा सकते हैं तो ये इफ वाला ब्लॉक यहां पर खत्म हो गया इस इफ वाले ब्लॉक के बाद और एल्स वाले ब्लॉक के बीच में ये सब ऑप्शनल ब्लॉक्स हैं ठीक है यहां पर मैं लगा सकता हूं एल्स इफ इस तरीके से और एल्स इफ के बाद क्योंकि मैंने यहां पर इफ लिखा है इसलिए मुझे यहां पर पेंसिस लगाना पड़ेगा एल्स के बाद कोई भी पेंसिस लगाने की जरूरत नहीं होती लेकिन एल्स इफ के बाद बेसिकली जितनी बार भी आप इफ लिखोगे उनके बाद आपको ऐसे लगानी है और इनके अंदर कोई कंडीशन लिखनी है यहां पर मेरी कंडीशन होगी डे कि अगर मेरा डे है टू तो मैंने क्या कहा था कि मुझे जाना है विलेज तो यहां पर मैं लिख दूंगा गो टू द विलेज इसके अलावा मैं एक और एलसीएफ लगा सकता हूं यहां पर एलसीएफ आप जितने मर्जी लगा सकते हो अगर डे मेरा थ्री है तो मुझे जाना है एस आउट स्ट्रिंग के अंदर लिखेंगे गो टू फाड़े इस तरीके से तो अब यहां पर अगर डे इसका वन है तब ये होम पर जाएगा डे टू है तो विलेज जाएगा डे थ्री है तो पार्टी जाएगा और अगर कोई और सा डे है टूथ के अलावा कोई और सा डे होता है कोई सा भी डे हो उसके बाद तो उन सभी डेज प इसे ऑफिस जाना है तो अभी इसका डे फाइव है अभी मैं इसे रन करूंगा तो आपको समझ में आ रहा होगा कि ना तो वन है ना टू है ना थ्री है तो इसलिए एल्स में जाएगा और यह ऑफिस चला जाएगा लेकिन अगर डे सपोज करो टू है तो आपको पता चल रहा होगा कि क्योंकि इसका डे टू है इसलिए यह विलेज जा रहा है और ये काम कैसे कर रहा है भैया ये डे टू पर विलेज क्यों जा रहा है यह बताओ जरा तो हो क्या रहा है बेसिकली कि यहां पर कंडीशन चेक हो रही है पहले आप यहां पर गए इफ के अंदर गए और आपने चेक किया क्या यह कंडीशन ट्रू है आपने देखा यह कंडीशन ट्रू नहीं है तो आप अगली कंडीशन में चले गए एलसीएफ में चले गए आपने देखा क्या ये वाली कंडीशन ट्रू है आपने देखा हां ये वाली कंडीशन तो ट्रू है तो आपने ये चीज प्रिंट की और आप सीधा बाहर निकल गए उसके बाद ठीक है आप इस इस तरीके से समझ सकते हो इसको कि आपने पहले यहां चेक किया इफ के अंदर जाके ठीक है इसको मैं अलग पनस लिखता हूं लेट से आप आप पहले यहां गए आपने यहां चेक किया आपने देखा ये वाली कंडीशन ट्रू है नहीं ये वाली कंडीशन ट्रू नहीं है तो आप वापस आ गए आपने ये वाली कंडीशन चेक किया कि ये वाली कंडीशन ट्रू है आपने देखा ये वाली कंडीशन ट्रू है तो आप सीधा यहां पे आ गए फिर फाइनली कि ठीक है अब मेरा कोड जो है नॉर्मल एग्जीक्यूट होता रहेगा यह वाली कंडीशन अब कभी एग्जीक्यूट नहीं होने वाली ठीक है अब मेरा कोड नॉर्मल एग्जीक्यूट होगा इसका मतलब अगर इस कोड के अंदर मैंने नीचे कुछ और लाइने लिखी होंगी कि सपोज करो एस आउट हेलो वर्ल्ड और यह मैंने बाहर लिखा हुआ है यहां पर नोट करो इसको मैंने बाहर लिखा हुआ है इसको मैंने इफ एल्स वगैरह के ब्लॉक्स में नहीं लिखा एल्स का ब्लॉक यहां पर खत्म हो जाता है मैंने इसको एल्स ब्लॉक के बाहर लिखा हुआ है राइट तो आप देखोगे हेलो वर्ल्ड अपने आप प्रिंट हो हो ही होना है हर बार चाहे कहीं भी जाना हो इसको हेलो वर्ल्ड तो हर बार प्रिंट होना ही होना है ठीक है तो इसको आप हेलो वर्ल्ड लिख सकते हो या फिर वेंट सम वेयर टुडे राइट क्योंकि डेली कहीं ना कहीं जा ही रहा है तो एंड में हम लिख सकते हैं वेंट सम वेयर टुडे तो गो टू द विलेज उसके बाद वेंट सम वेयर टुडे राइट अगर डे यहां पर थ्री है तो आपको समझ में आ रहा होगा अगेन ये पार्टी जाएगा उसके बाद वेंट सम वेयर टुडे इस तरीके से काम करता है ए फल्स तो अगर आपको मल्टीपल रास्तों पर जाना है तो आप एलस इफ का हेल्प से जा सकते हो मल्टीपल रास्तों पर इसके बाद हम अगला देख लेते हैं अगला है हमारा नेस्टेड इफ एल्स स्टेटमेंट और यहां पर कई बार कंफ्यूजन होते है लोगों को कि भैया नेस्टेड इफल्स कैसे काम करता है मतलब एक इफ के अंदर दूसरा इफ भी आप लोग डाल सकते हो क्योंकि यार जिंदगी में जरूरी नहीं है ना रास्ता आपका ऐसा सिंपल सा हो कि आप यहां गए उसके बाद ये दो रास्ते हो गए इन दो में से आप किसी एक रास्ते पर चल दिया और यही रास्ते प आप चले जा रहे हो चले जा रहे हो चले जा रहे हो चले जा रहे हो नहीं ऐसा नहीं होता कभी ना कभी आप यहां पर देखोगे अगेन दो रास्ते में से कोई एक चूज करना पड़ रहा है अब आप सपोज करो इस रास्ते पर चलते गए चलते गए चलते गए राइट लेकिन यहां पर आके आपको अगेन दो रास्ते चूज करने पड़ रहे हैं इस तरीके तो आप आगे बढ़ते हो राइट तो सेम टू सेम चीज आप कोड में भी कर सकते हो जो आप रियल वर्ल्ड में कर सकते हो सेम चीज आप कोड में कर पा रहे हो कि आप पहले यहां गए आपने यहां पर एक इफल स्टेटमेंट लगाई अब उस इफल स्टेटमेंट के अंदर नेस्टेड स्टेटमेंट आपने यहां पर एक लगाई और फिर इस वाले के अंदर नेस्टेड आपने एक यहां पर लगा दी तभी आप इधर से इधर से इधर ऐसे जा रहे हो ठीक है तो मल्टीपल रास्ते हो सकते थे आप कहां से कहां जा रहे हो वो डिपेंड करेगा आपने कितने नेस्टेड इफल्स लगा रखे हैं फॉर एग्जांपल इस वाले ग्राफ के अंदर देखो आप यहां पर क्या चल रहा है यहां पर आप पहले यहां गए ठीक है उसके बाद यहां पर एक इफ एल्स कंडीशन लगाई आपने अगर एल्स हुई तब आप फॉल्स में चले जाओगे अगर ट्रू हुई तो आप इफ में चले जाओगे सिंपल सी बात है हमने देख लिया ऑलरेडी लेकिन यहां पर क्या किया इन्होने इफ के अंदर एक और इफल्स कंडीशन लगा दी उसके अंदर यह आपका इनर इफ कंडीशन है अगर यह ट्रू हुआ तो आप इनर इफ में जाओगे अगर यह वाला फॉल्स हुआ तो आप इनर फॉल्स में जाओगे तो इस तरीके से आपके पास यहां पर तीन रास्ते में टूट चुका है ये तो दो इफल्स कंडीशन लगाई आपने तो इस तरीके से आपके तीन रास्ते बन गए हैं ठीक है आपको समझ में आ रहा होगा तीन रास्ते कैसे बन रहे है अगर मैं भी यहां पर अगर रोड का एग्जांपल लूं तो आपका पहला रोड यह था आपकी पहली इफल्स कंडीशन आपने लगाई तो यह दो रास्ते बन गए आपके उसके बाद आपने यहां पर भी अगर इ सॉरी यहां पर आपने लगा द यहां पर आपने एक इफल्स कंडीशन लगा दी तो आपके अगेन दो रास्ते बन गए तो टोटल रास्ते कितने बनेंगे टोटल डेस्टिनेशन कितनी बनेगी अगर आपको यह गिनना है तो यहां पर आप देख सकते हो पहली डेस्टिनेशन तो यह है ठीक है दूसरी डेस्टिनेशन यह है और तीसरी डेस्टिनेशन यह है इस तरीके से यहां आपके स्टेटमेंट वन स्टेटमेंट टू स्टेटमेंट थ्री काम कर रहे हैं ठीक है फाइनली सभी के सभी जुड़ जाएंगे कहीं ना कहीं आके ठीक है क्योंकि एंड में तो सबको सेम ही काम करना है इसके बाद व समवेल यहां पर सपोज करो वेंट सवेर लिखा हुआ है तो इन तीनों रास में से कहीं ना कहीं जाके आप फाइनली अपने मेन अपना मेन का कोड का जो मेन पार्ट था वहां पे आप वापस चले जाओगे इस तरीके से ये चीज अगर आपको कन्फ्यूजिंग लग रही है तो एक बार मैं कोड में करता हूं इस चीज को बहुत ही क्लीयरली समझ में आने वाला है उसके बाद ठीक है तो ये तो हमारा इफ कंडीशन था एल्स कंडीशन था एक काम करते हैं इसको तो इग्नोर करते हैं फिलहाल और एक नया एग्जांपल लेते हैं तो इस बार सपोज करो आपके पास एक क्वेश्चन आया है कि यू आर गिवन थ्री नंबर्स यू आर गिवन थ्री नंबर्स फाइंड द मैक्सिमम नंबर या फिर लार्जेस्ट नंबर ठीक है सबसे बड़ा नंबर आपको बताना है तीन नंबर में से तो उसके लिए आप क्या करोगे इसके लिए आपको नेस्ट इफस लगाना होगा तो इसके लिए सपोज करो आपके पास तीन नंबर्स है एक है इन ए इक्व ू लेट से 4 इंट बी इ लेट से 8 और इंट सी इ लेट सेव ठीक है हमारे पास तीन नंबर और मुझे बताना है कि सबसे बड़ा नंबर कौन सा इनके अंदर से तो उसके लिए मैं यहां पर एक ल् कंडीशन आके आपको बताने वाला हूं कैसे आप लोग पता लगा सकते हो कि सबसे बड़ा नंबर कौन सा है तो सबसे पहले मैं क्या चेक करूंगा कि इफ a इज ग्र द b अगर a b से बड़ा है तब मुझे वो काम करना है जो यहां पर लिखा होगा मैंने ठीक है एल्स अगर a b से बड़ा नहीं है तो मैं एल्स कंडीशन में आ जाऊंगा यहां पे ठीक है सिंपल सा काम हो गया ये अगर a b से बड़ा है तो इसका मतलब मैं ये कह सकता हूं कि हां a b से तो बड़ा है राइट लेकिन क्या a c से भी पड़ा है ये चेक करना है मुझे अब राइट आप इसको ऐसे समझ सकते हो कि यहां पर हमारे पास तीन नंबर्स है ठीक है ये ये और यह तीन लोग हैं सपोज करो आपने इन दोनों को कंपेयर कर लिया आपने पाया कि यह वाला बंदा बड़ा है अब इसका मतलब आपको चेक करना है कि इन तीनों में से सबसे बड़ा बंदा कौन सा है तो आपको अगले बंदे के साथ इसे कंपेयर करना है कि क्या ये इससे भी बड़ा है अगर आपको पता चलता है कि हां ये थर्ड बंदे से भी बड़ा है तो इसका मतलब सेकंड बंदा ही सबसे बड़ा है राइट तो आपने चेक किया एक बार पहले ए और बी को उसके बाद जो भी इसमें से रिजल्ट आया जो भी इसमें सबसे बड़ा बंदा आया जैसे a और बी में देखोगे आप अगर a ग्रेटर देन बी है तो इसका मतलब a बी से बड़ा है राइट तो मैं यहां चक कर लूगा अगर ए सी से भी बड़ा है तो मैं तो कह दूंगा कि हां भाई इसका मतलब ए ही सबसे बड़ा है राइट कि यहां पर हो गया कि पहले तो ए बी से बड़ा है तब आप यहां पर आए राइट यहां पर आप लिख भी सकते हो कि ए इज बिगर देन बी राइट उसके बाद अगर ए सी से भी बड़ा है तो यहां पर आप प्रिंट कर सकते हो कि ए इज बिगर देन सी तो अगर ए बी से भी बड़ा है और c से भी बड़ा है तो आप कह सकते हो कि यस ए इज लार्जेस्ट और आप यहां पर ए को प्रिंट भी कर सकते हो ये जो लार्जेस्ट वैल्यू है वो क्या है वो a है आपने a को यहां पर इस तरीके से प्रिंट कर दिया ठीक है प्लस लगा के प्रिंट करोगे आप a को अगर ए सी से बड़ा नहीं है लेकिन ए बी से बड़ा है और ए सी से बड़ा नहीं है इसका मतलब क्या हो गया इसका मतलब c सबसे बड़ा है यह बात समझ में आ रही है आपको कि a बड़ा है बी से लेकिन c बड़ा है a से तो आप हाइट देख लो ना अपने तीन दोस्तों के साथ कंपेयर करके आप लोग ये बात आराम से देख सकते हो ठीक है मैं वैसे समझाता हूं इसको कि सपोज करो कि आपका जो a है वो b से बड़ा है तो a ये है और b ये है आपने पाया कि a b से बड़ा है लेकिन आपने फिर पाया कि a तो c से छोटा है इसका मतलब c थोड़ा और बड़ा होगा राइट c थोड़ा और बड़ा होगा a से भी बड़ा होगा c तभी तो ये वाली कंडीशन एल्स में आएगी तो इसका मतलब आप कह सकते हो कि c जो है वो सबसे बड़ा है राइट ये बात समझ में आ रही है कि a b से बड़ा है लेकिन a c से छोटा नहीं है ठीक है a अगर ग्रेटर दन c होता तब तो आप यहां चले जाते लेकिन एल्स में जा र इसका मतलब ए ग्रेटर सी नहीं है इसका मतलब सी बड़ा है से तो इसका मतलब सी सबसे बड़ा हो गया इस केस में राइट तो आप यहां पर लिखोगे कि एस आउट सी इज बिगर देन ए उसके बाद आप लिखोगे यहां पर सी इज लार्जेस्ट उसके बाद आप यहां पर सी भी प्रिंट कर सकते हो चाहो तो ठीक है प्लस लगा के तो इस तरीके से आपने देखा इफ कंडीशन के अंदर आपने एक और नेस्टेड इफ एल्स कंडीशन लिख दिया आपने लेकिन व्हाट इफ बी सबसे बड़ा है ठीक है व्हाट इफ a बड़ा था ही नहीं सपोज करो हमारे पिछले एग्जांपल के अंदर हम आते हैं वापस और a बड़ा नहीं था सपोज करो a छोटा था और b बड़ा था तो आप एल्स कंडीशन में आओगे ठीक है इफ कंडीशन में नहीं जाओगे आप उस केस में एल्स कंडीशन में आओगे क्योंकि आपका इफ कंडीशन तो फेल हो गई ठीक है ए बड़ा नहीं है बी बड़ा है तो आप बी को सी के साथ चेक करोगे क्या जो सी है ये सी अगर छोटा है तो बी सबसे बड़ा है अगर सी बड़ा है नहीं सी अगर बड़ा है तो मतलब सी सबसे बड़ा है राइट तो अगेन एल्स के अंदर आप इफ एल्स कंडीशन लिखोगे यहां पर आते हैं हम सेम चीज जो आपने यहां पर इफल्स लगाई है ना सेम उसी तरीके से आप यहां पर भी लिखोगे पहले तो आप यहां पर ही प्रिंट कर दोगे कि बी इज बिगर देन ए और इफ b इज ग्रेटर दन c तो आप यहां पर लिखोगे कि c इज बिगर देन सॉरी b इज बिगर दन c राइट अगर इस वाली इफ कंडीशन में आ गई तो b इज बिगर देन c और उसके बाद यहां पर हम प्रिंट कर सकते हैं कि अगर b a से भी बड़ा है और b c से भी बड़ा है इसका मतलब b इज द लार्जेस्ट राइट b इज लार्जेस्ट और यहां पे आप b को भी प्रिंट कर सकते हो कि b की वैल्यू क्या है एल्स एल्स आपको समझ में आ गया हो कि अगर आपका बी बड़ा है ए से लेकिन सी बड़ा है बी से इसका मतलब सी सबसे बड़ा है राइट तो य पर आप प्रंट कर सकते हो कि सी इज बिगर देन बी आई थंक समझ में आ रहा होगा आपको यह चीज ठीक है उसके बाद आप यहां पर कह सकते सी इज द सी लार्जेस्ट इस तरीके से पर स्पेस लगा देते हैं सो दैट लार्जेस्ट और सी के बीच में एक स्पेस आ जाए ठीक है इसलिए मैंने स्पेस लगाया अब हमारे पास यहां पर ए बी और c की वैल्यूज तो रेडी है ही चला के देखते हैं इसको जरा एक बार कोर्ड को तो आप यहां पर देखोगे प्रिंट हो रहा है कि बी इज लार्जर देन a देन बी इज लार्जर देन सी फिर बी इज लार्जेस्ट आप देख सकते हो कि हां बी सबसे बड़ा भी है बी इज लार्जेस्ट तो ये चीज आपकी ट्रू है ठीक से काम कर रहा है हमारा कोड ठीक है हमारा कोड चेक करके बता पा रहा है इजली कि सबसे बड़ा नंबर कौन सा है यहां पर सबसे बड़ा नंबर बी था सपोज करो a सबसे बड़ा नंबर है a 14 है ठीक है अब दोबारा चलाते हैं इसे तो आप देखोगे क्या होगा कि पहले आपका कोड जाएगा यहां पे अब जरा इसको दोबारा से समझते हैं पहले आपका कोड जाएगा a > b है क्या तो आप देखोगे कि a 14 है और b 8 है तो हां a ग्र दन b है तो इसीलिए आपका प्रिंट हो गया यहां पर a ग्र द b ठीक है ये वाली लाइन समझ में आ गई होगी उसके बाद आपने चेक किया क्या a ग्रेटर दन c है तो अब आप a और c को चेक करोगे तो क्या a ग्रेटर दन c है हां देखोगे हां a ग्र दन c भी है तो इसका मतलब ये वाली लाइन प्रिंट हो ग अब कि a इ ग्र c और उसके बाद आपकी ये वाली लाइन प्रिंट हो गई कि हां a सबसे बड़ा है ठीक है तो इस तरीके से आपका कोड काम किया पहले यहां से यहां गए उसके बाद यहां पे गए उसके बाद आपने ये वाली चीजें प्रिंट कर दी उसके बाद आप बाहर निकल गए ठीक है व्ट इफ ऐसा नहीं है व्ट इफ लेट्स से सी सबसे बड़ा है ठीक है c 11 है तब क्या होगा इसको चला के देखते हैं आप देखोगे य प्रिंट होगा सी इज द लार्जेस्ट ठीक है तो अब क्या चीजें हुई है अब जरा समझते हैं कि भैया अब क्या चीजें हो गई होंगी फिर तो अब हमारा c 11 है राइट तो क्या a ग्रेटर दन b है तो a ग्रेटर दन b नहीं है राइट a ग्रेटर दन बी नहीं है आप देख सकते हो ये वाली कंडीशन फाल्स हो रही है तो इसका मतलब आप पहले ही एल्स में चले गए तो आप सीधे यहां से जंप मार के पहले ही एल्स में जा चुके हो और आपने ये वाली चीज प्रिंट कर दी ठीक है b इ ग्रेटर दन a यहां पर देखो ब इ ग्रेटर दन a प्रिंट हो रहा है उसके बाद नीचे की इ फल्स कंडीशन चेक होंगी ठीक है यहां पर आप नीचे जाओगे तो आप देखोगे नीचे की कंडीशन चेक होंगी यहां पे अब तो आप ऊपर की तो चेक करके आ चुके थे अब आप नीचे देख लो कि यहां पर पहले एल्स तो प्रिंट हो गया हमारा एल्स के अंदर ब ग्रेटर दन a ये प्रिंट हो चुका है उसके बाद इफ बी इ ग्रेटर दन सी तो बी क्या था बी आपका एक सेकंड ये तो थोड़ा इस तरीके से मैं बता नहीं पाऊंगा थोड़ा छोटा करके यहां पर मैं चीजों को थोड़ा सा मूव करने वाला हूं तो बेसिकली मैं चाहता हूं कि ये जो रन वाला ऑप्शन है मेरा यह रन यहां से उठके यहां चला जाए कभी अगर ये हाइड हो जाए ना आपसे तो इनके लिए कमांड शॉर्टकट याद रखना आप जैसे कि अगर कभी आपका प्रोजेक्ट स्ट्रक्चर गायब हो जाए आपको नहीं मिल रहा भया प्रोजेक्ट स्ट्रक्चर नहीं आ रहा तो य आप यहां पर क्लिक करना ठीक है तीन डॉट्स प और यहां पर सब कुछ आपको मिल जाएगा कमिट वाला कहां है प्रोजेक्ट स्ट्रक्चर कहां है और इनकी शॉर्टकट भी है कमांड वन इसका कमांड फोर है ठीक है ये मिलना है तो आपको ये ढूंढना है तो कमांड फोर दबा देना ये वापस मिल जाएगा आपको या फिर एक बार क्लोज कर देना अपने एप्लीकेशन को वापस ओपन करना तब भी मिल जाएगा ठीक है तो मैंने क्या किया जो मेरा कंसोल पहले नीचे आ रहा था रन करने पे आउटपुट वो मैं यहां पर ऊपर ले गया ठीक है राइट साइड में ले गया तो कोई दिक्कत नहीं है सो दैट मुझे थोड़ी सी लंबी विंडो मिल जाए ठीक है इसीलिए तो अब जरा दोबारा समझते हैं इस चीज को कि व्हाट इफ आपका c बड़ा है b से ठीक है जैसे अभी आप यहां पर देख सते हो c इज ग्रेटर दन b राइट और c इज द लार्जेस्ट ये प्रिंट हो रहा हमारा तो ये चीज कैसे हुई है जरा ये समझा दो भैया तो इसके लिए हम अगेन आएंगे अपने मस्त एग्जांपल समझ रहे होंगे ठीक है कि सपोज करो a आपका क्या a ग्रेटर दन बी है तो a हमारा फर है और b मेरा ट है तो ओबवियसली a ग्रेटर बी नहीं है तो यह वाली कंडीशन हो गई आपकी फाल्स तो आप यहां से सीधा चले गए छूटते ही एल्स में ठीक है अब एल्स में चले गए आप और आपने प्रिंट कर दिया b इ ग्रेटर दन a इसीलिए आपका यहां पर b इ ग्र दन a प्रिंट हो रहा है ऑलराइट उसके बाद आपने चेक किया b और c के बीच में क्या b इज ग्रेटर दन c देखोगे आप नहीं b इज ग्रेटर दन c नहीं है तो अगेन ये वाली कंडीशन आपकी फॉल्स हो गई तो आप सीधा चले गए आप इस वाले एल्स में और अब आपने प्रिंट कर दिया जो भी यहां पर लिखा हुआ है तो यहां पर लिखा हुआ है सी इज बिगर दन b और साथ में लिखा हुआ है यहां पे c इज द लार्जेस्ट तो इसलिए स इज द लार्जेस्ट और c की वैल्यू जो 11 है वो प्रिंट हो रही है तो इस तरीके से आप तीन नंबर्स की बच में पता लगा पाए कौन सा सबसे बड़ा नंबर है बाय यूजिंग नेस्टेड डि फेल्स ठीक है तो नेस्टेड डि फेल्स का आपको यूज़ करना चाहिए अगर आपको पता लगाना है कि सबसे बड़ा नंबर कौन सा है इन तीन में से अब अगला क्वेश्चन अगर मैं आपको दे दूं यहां पे कि आपको चार नंबर दिए हुए हैं ए बी सी और एक और नंबर दे दिया मैंने डी और अब आपको बताने है कि इन सब में सबसे बड़ा नंबर कौन सा है तो आप कैसे वो कर सकते हो तो ये आप करो ट्राई ठीक है इसके अंदर अगेन नेड इफल्स लग रहे होंगे काफी सारे लेकिन एक नेस्टिंग के अंदर दूसरी नेस्टिंग और इस नेस्टिंग के अंदर भी एक और नेस्टिंग लग रही होगी आपकी तो ये कोड अब बहुत बड़ा हो जाने वाला है ठीक है ये वाला कोड बहुत बड़ा हो जाने वाला है अगर आप ऐसे ए फल्स के तरीके से करोगे तो एक और बहुत अच्छा तरीका होता है वो होता है लूप के थ्रू वो हम बाद में देख रहे होंगे लेकिन इफ एल्स के थ्रू करके दिखाओ कि चार नंबर में से सबसे बड़ा नंबर कौन सा है ठीक है सिंपल क्वेश्चन है तो ये हमारा नेड इफल्स हो गया हमने काफी सारी चीजें देखी नेस्ट इफल्स के अंदर अब हम फाइनली आगे मूव करते हैं और टर्नर ऑपरेटर की बात करते हैं कि टर्नर ऑपरेटर क्या होता है ये आपको याद होगा लास्ट लेक्चर के अंदर भी हमने ऑपरेटर जब हम पढ़ रहे थे तो टर्न री ऑपरेटर आया था और मैंने कहा था कि ये हम बाद में पढ़ेंगे नेक्स्ट लेक्चर में पढ़ेंगे जब आप बात करोगे कंडीशनल स्टेटमेंट्स की तो अब फाइनली हम इसे देख लेते हैं कि यह कैसे काम करता है राइट तो बेसिकली इसके अंदर होता क्या है आपके पास दो सिंबल्स होते हैं इसके अंदर एक तो क्वेश्चन मार्क होता है और एक ये होता है कलन ठीक है इनके बेसिस पर ये एक तरीके से इफ एल्स का रिप्लेसमेंट है जो आप इफ एल्स ऐसे लिखते हो ना इफ कंडीशन उसके बाद आपने एक चीज लिखी यहां पर राइट एक चीज लिखी फिर एल्स उसके बाद आपने यहां पे एक चीज लिखी तो इसको आप चेंज कर सकते हो और इसको आप ऐसे लिख सकते हो कि यहां पर जो भी कंडीशन थी यहां पर एक कंडीशन होती है राइट दिस इज द कंडीशन उसके बाद यहां पर एक्सप्रेशन वन यहां पर एक्सप्रेशन टू याद रखना इसके अंदर सिर्फ आप एक ही एक्सप्रेशन डाल सकते हो एंड दैट एक्स एक्सप्रेशन नीड टू रिटर्न समथिंग ये एक्सप्रेशन कुछ ना कुछ रिटर्न करनी चाहिए कुछ ना कुछ वैल्यू रिटर्न करनी चाहिए तो बेसिकली मैं क्या कहना चाहता हूं कि आप इसको ऐसे समझ सकते हो कि एक काम करते मैं यहां प एक एग्जांपल समझाता हूं आपको तब वहां पर आपको बेटर समझ में आएगा कि एक कोड लिखते हैं कि सपोज करो मेरे पास दो नंबर है इंट a इ 12 और इंट बी इ 23 ठीक है और एक इंट मैक्स मैंने बनाया है जिसकी वैल्यू मैंने फिलहाल के लिए जीरो रख दी है अब मैं चाहता हूं इस मैक्स के अंदर रिजल्ट आना चाहिए जो सबसे बड़ा है मैक्स के अंदर वो वैल्यू डाल दो जो सबसे बड़ी है इन दोनों में से ए और बी में से जो बड़ी होगी तो उसके लिए कोड हो सकता है हमारा ए फल्स के अंदर हमें पता है बहुत आसान है उससे करना तो अगर ए बी से बड़ा है इफ ए इ ग्रेटर दन बी तो मैक्स हो जाएगा ए के बराबर एल्स मैक्स हो जाएगा बी के बराबर ठीक है सिंपल सा कोड है ये अगर ए बी से बड़ा है तो मैक्स हो जाएगा ए के बराबर एल्स मैक्स हो जाएगा बी के बराबर उसके बाद आप यहां पर मैक्स को प्रिंट कर सकते हो चाहो तो एस आउट वैल्यू ऑफ मैक्स और यहां पर मैक्स आप डाल सकते हो ठीक है इसे रन करते हैं तो आपको पता है क्या प्रिंट होने वाला है वैल्यू ऑफ मैक्स व्हिच इज 23 वो प्रिंट होने वाली है बिकॉज मैक्स के अंदर अभी फिलहाल 23 डाला हुआ है बिकॉज बी बड़ा है तो आप एल्स कंडीशन में चले गए इसलिए आपका मैक्स के अंदर ब चला गया ठीक है सिंपल था लेकिन आप चाहते हो कि नहीं मैं इसको ऐसे नहीं करना चाहता मैं इसको टरनरी ऑपरेटर की हेल्प से करना चाहता हूं तो वो आप बड़े आराम से कर सकते हो ठीक है देखो टरनरी ऑपरेटर ऐसे काम करेगा आप यह लिखो या फिर आप यह लाइन लिखो कि मैक्स इक्वल टू अगर ए ग्रेटर दन बी है ठीक है वैसे य पर य पर लगाने की जरूरत नहीं चा तो इस पर को हटा सकता य से कि अगर ए ग्रेटर दन बी है उसके बाद लगाओगे आप क्वेश्चन मार्क अगर ए ग्रेटर दन बी है तो तो मैक्स के अंदर डाल दो आप ए को अदर वाइज मैक्स के डाल दो आप बी को ठीक है तो यह कंडीशन यने लिख द है और यहां पर वार्निंग आ रही है कुछ रिप्लेस विद मैथ मैथड मैक्स कह रहा है ठीक है तो थोड़ा स्मार्ट य जाने को बोल रहा है एक्चुअली जावा के अंदर एक मैथ ड मैक्स होता है जो हम बाद में पढ़ेंगे जावा के अंदर मैथड मैक्स फंक्शन होता है जिसके अंदर आप इस तरीके से मैक्सिमम नंबर डाल सकते हो यहां पर बट इसको हम इग्नोर कर देते हैं देखो यहां पर क्या हो रहा है मैक्स इक्वल टू a ग्रेटर बी इसको हम ठीक से समझते हैं एक बार a ग्रेटर दन बी अगर इन a बी से बड़ा है तो वो चीज चलाओ वो चीज रिटर्न करो जो आपने यहां पर लिखी है पहली बारी में अदर वाइज वो चीज रिटन करो जो आपने यहां पर लिख दूसरी बारी में ठीक है इस तरीके से काम करता है ये और इसी वजह से यह जो आपने चार लाइन यहां पर लिखी थी उस चीज को यह एक लाइन में लेके आ पाया है और अभी भी आप देखोगे यह काम करेगा आपका आप देखो मैक्स के अंदर 23 प्रिंट हो रहा है अगर आप यहां पर कुछ और लगाए तो लेट्स से a की वैल्यू आपने कर दी 26 तो आपको पता है मैक्स के अंदर 26 आना चाहिए इस केस में राइट तो यह कैसे काम करता है टर्न ऑपरेटर आपको समझ में आ रहा होगा कि अगर कंडीशन आपकी ट्रू है तो वह रिटर्न करो जो एक्सप्रेशन वन दे रहा है ठीक है अदर वाइज वो रिटर्न करो जो कंडीशन एक्सप्रेशन टू दे रहा है और यह एक्सप्रेशन वन टू कैसे सेपरेट होते हैं इस कोलन से ठीक है तो कंडीशन लिखो उसके बाद क्वेश्चन मार्क लगाओ उसके बाद एक्सप्रेशन वन लिखो फिर कोलन लगाओ फिर एक्सप्रेशन टू लिखो इस तरीके से काम करता है इसी सेम चीज का यूज करके आप चाहो तो इसको नेस्टिंग भी कर सकते हो इसके अंदर भी इसके अंदर भी नेस्टिंग अलाउड होती है मतलब टरनरी ऑपरेटर के अंदर भी आप चाहो तो नेस्टिंग कर सकते हो ठीक है तो यह जो आपने इतना सारा कोड लिखा था ऊपर इस कोड को चाहो तो आप टरनरी ऑपरेटर के अंदर भी चेंज कर सकते हो आपके पास सपोज करो तीन नंबर्स है इंट सी इटू रेसड 12 इस तरीके से तो यहां पर आप चाहो तो अगेन टरनरी ऑपरेटर की हेल्प से इसे कर सकते हो कैसे करोगे तो आप यहां पर आओगे लिखोगे मैक्स इक्व टू ए ग्रेटर दन बी है क्या अगर ए ग्रेटर दन बी है तो क्वेश्चन मार्क लगा के वो चीज लिखोगे जो यहां पर होनी चाहिए अदर वाइज को लगा के वो चीज लिखोगे जो एलस होनी चाहिए ठीक है तो यहां पर समझ सकते हो कि आप इफ लिखा हुआ है यहां पर तो इस इफ के अंदर मैं देखूंगा क्या a ग्रेटर दन बी है हा ग्र बी है तो उसके बाद ए को चेक करूंगा सी से क्या ए ग्रेटर दन सी है अगेन यहां प आगा क्वेश्चन मार्क तो अगर ए ग्रेटर सी है तो मैं यहां पर रिटर्न कर दूंगा ए अदर वाइज मैं रिटर्न कर दूंगा यहां से सी ठीक है तो मेरा एक इफल्स नेस्टेड इफल्स यहां पर चल गया है उसके बाद दूसरा वाला नेस्ट इफल्स जो है वो यहां पर चलेगा कि नहीं बी बड़ा है बी बड़ा है तो मैं यहां पर एल्स में आ जाऊंगा ठीक है बहुत कन्फ्यूजिंग लग रहा है तो टेंशन मत लो धीरे-धीरे कर समझ में आएगा ठीक है कि बी बड़ा है अगर बी बड़ा है तो मैं बी को सी से चेक करता हूं बी इ ग्रेटर दन सी क्या बी बड़ा है सी से अगर बी बड़ा है सी से तो रिटर्न कर दो बी अदर वाइज रिटर्न कर दो सी ठीक है और इस तरीके से यह सारा जो आपने यहां पर लिखा हुआ था यह आप चेंज कर पाए सिर्फ एक लाइन में और आप देखोगे यह तीन लाइनों के अंदर बता देगा आपको मतलब तीन नंबर्स में बता देगा कि तीन नंबर्स में सबसे बड़ा नंबर कौन सा है आप देखो यहां पर रन करते हैं अभी भी ये बता दे रहा है कि 26 सबसे बड़ा है सपोज करो 123 होता है यहां पर सी सबसे बड़ा होता तो उस केस में देखते हैं क्या होता उस केस में ये 123 बता दे रहा है सी को ठीक है तो इस तरीके से काम कर रहा है जरा समझते हैं यहां पर कैसे काम किया भैया ये ठीक है थोड़ा सा कॉम्प्लिकेटेड हो सकता है आपको लग रहा हो लेकिन इसको समझने का ट्राई करेंगे ठीक है अच्छे से ये कैसे काम किया आप देखो हमारा इस वाली कंडीशन में चलते है ठीक है a 26 बी 23 और c 123 तो आपने सबसे पहले देखा ए ग्रेटर दन बी ए की वैल्यू 26 है ठीक है और बी की वैल्यू 23 है क्या ए ग्रेटर दन बी है हा ए ग्रेटर दन बी है तो इसका मतलब आप यहां पर आओगे ठीक है यहां पर नहीं जाओगे क्योंकि इफ वाली कंडीशन आपकी ट्रू हो गई है यह वाली कंडीशन आपकी ट्रू हो गई है एक सेकंड थोड़ा ऐसे उसके बाद आप यहां पर चेक करोगे क्या a ग्रेटर दन c है अब a की वैल्यू क्या है a की वैल्यू आपकी पता है आपको 26 है और b की वैल्यू आपको पता है 123 है तो क्या a ग्रेटर दन c है नहीं a ग्रेटर दन c नहीं है तो इसका मतलब आप यह वाली चीज नहीं रिटर्न करोगे आप यह वाली चीज रिटर्न करोगे ठीक है सी तो आपने सी रिटर्न कर दिया वच इज 123 इसीलिए मैक्स के अंदर आ गया आपका 123 इसलिए आपका यहां पर 123 प्रिंट हो रहा है ठीक है समझ में आ रहा है तो इस तरीके से टरनरी ऑपरेटर भी काम करता है और ये बेसिकली आपकी इफ ल्स के अंदर जो आपकी ए फल्स कंडीशन होती है ना उसके अंदर से कुछ ना कुछ अगर आपको सिंपल रिटर्न स्टेटमेंट लिखनी है देखो यहां पर आप सिस्टम ड आ प्रिंटन वगैरह नहीं लिख सकते थे क्योंकि सिस्टम ड आड प्रिंटन जो आपका एस आउट होता है यह आपका वॉइड रिटर्न करता है ठीक है दिस रिटर्न्स वॉइड लेकिन टरनरी ऑपरेटर के अंदर आप वो चीजें डाल सकते हो जो कुछ रिटर्न करते हैं जो नंबर रिटर्न करते हैं कुछ एक्चुअल वैल्यू रिटर्न करते हैं ठीक है तो यहां से हमेशा कुछ ना कुछ रिटर्न होना चाहिए इस बात का हमें ध्यान रखना है ठीक है तो ये आई थिंक समझ में आ गया होगा आपको इसके बाद हम आगे मूव करते हैं उसके बाद फिर टरनरी ऑपरेटर हमारे यहां पर खत्म हो जाता है इसके बाद हम स्विच स्टेटमेंट देखते स्विच स्टेटमेंट कैसे काम करती है जावा के अंदर तो जावा के अंदर स्विच स्टेटमेंट होती है आपके पास जैसे फफ एल्स होते हैं राइट बहुत सारे आपने एल्स लिखे आपने लफ के अंदर बहुत सारे एल सफ लगा दिए ठीक है मल्टीपल सपोज करो चार बार एल सफ लगा दिया उसके बाद फाइनली आपने एल्स लिखा तो इस चीज को अगर आपको हटाना है आपको मल्टीपल एल्स नहीं लगाने उसकी जगह पर आप लगा सकते हो स्विच ठीक है स्विच आपके पास होता है स्विच काफी जगहो पर काम कर जाता है काफी जगहो पर आप ल्स नहीं लगाना चाहते वहां पर स्विच काम करता है बेसिकली ये थोड़ा सा ऑप्टिमाइज्ड वर्जन होता है फल्स का और जहां पर आप लगा सकते हो ना मैं बताऊंगा कहां-कहां पर लगा सकते हैं वैसे स्विच वहां वहां पर आपको हमेशा स्विच को प्रेफर करना चाहिए बिकॉज इट इज कंसीडर्ड टू बी फास्टर देन ए फल्स कंडीशन इन सम केसेस बेसिकली स्विच कैसे काम करता है तो जैसे आपने देखा होगा घर के अंदर मल्टीपल स्विचेउ र के अंदर आपके पास स्विचेबल आ रहा है और कहां से ट्रैफिक जा रहा है तो स्विच वो बेसिकली ध्यान रखता है तो सिमिलर टाइप का कांसेप्ट यहां पर है स्विच कि आपकी कंडीशन चेक की जाएगी कि आपको जाना कहां पर है ठीक है सपोज करो यहां पर एक स्विच लगा हुआ है दिस इज योर स्विच और उसके बाद स्विच के पास मल्टीपल रास्ते है कि कहां आपको भेजना है यहां पे भेज सकता है यहां भेज सकता है यहां भेज सकता है यहां भेज सकता है आपको स्विच ठीक है तो ये आपका स्विच है दिस इज योर स्विच और स्विच के पास मल्टीपल राउट्स है कि वो आपको कहां बेचना चाहता है यहां पर सब कुछ चेकिंग हो जाएगी कंडीशन के बेसिस पर कि आपको कहां बेचना है और उसके बाद सीधा आपको वहीं पर जंप करा के बेज दिया जाएगा ठीक है सपोज करो यहां से यहां प जानता आपको कि ये वाली कंडीशन मैट हो रही है आपकी कि सपोज करो आपको गेट नंबर वन जाना है या टू पे जाना है या गेट नंबर थ्री पे जाना है या फोर पे जाना है तो सीधा यहां पर चेक कर लिया कि आपको गेट नंबर टू पे जाना है ठीक है तो सीधा टू पे जाओ और यहां से आगे बढ़ जाओ ठीक है तो आपका फिर जो कोड है उसका एग्जीक्यूशन यहां से स्टार्ट हो जाएगा ठीक है स्विच चेक कर लेगा कि यहां पर टू पे जाना है अगर सपोज करो नहीं स्विच ने बोला कि नहीं आपको फोर पे जाना है कंडीशन में लिखा है आपको नहीं आपको फोर पे जाना है तो सीधा आप फोर पे जाओगे 1 2 3 पे चेक नहीं करोगे क्योंकि इफ एल्स में क्या होता है आपको याद आ रहा होगा इफ एल्स के अंदर क्या होता है इफ एल्स के अंदर अगर आप सेम चीज लिखने का ट्राई करोगे तो इफ एल्स ऐसे करता है काम पहले ये चेक करेगा अगर यह फॉल्स हुई तब यह चेक करेगा अगर यह फॉल्स हुई तब ये चेक करेगा अगर ये फॉल्स हुई तब फोर प जाएगा इस तरीके से ठीक है तो इफल्स ऐसे काम करता है एक के बाद एक के बाद एक के बाद एक ऐसे काम करता है ल्स लेकिन स्विच ऐसे काम नहीं करता स्विच बेसिकली अंदर इंटरनली एक खतरनाक वाला स्विच बना देता है ठीक है प्रॉपर कोड होता है स्विच का और वो सीधा जंप करके आपको वहीं भेज देता है जहां पे आपको जाना है ठीक है अगर वो चेक कर लेता है कि इसको फोर पे जाना है ठीक है सीधा फोर पर ले जाओ टूथ चेक क्यों करना सीधा फोर पर ले जाओ इसलिए कह रहा हूं कि ये थोड़ा सा ऑप्टिमाइज्ड है फल्स से ठीक है बाकी आप इफ एल्स के अंदर भी सेम काम कर सकते हो तो जरा देखते हैं स्विच कैसे काम करता है स्विच के अंदर बेसिकली मल्टीपल केसेस होते हैं दिस ऑल आर केसेस ठीक है 1 2 3 4 ये सारे के सारे आपके केस है तो ये केस वन है दिस इज केस टू दिस इज केस थ्री एंड दिस इज केस 4 और सिमिलरली इसके अंदर एक और चीज होती है व्हिच इज कॉल्ड डिफॉल्ट ठीक है तो बेसिकली जैसे एल्स होता है वैसे ही डिफॉल्ट होता है लेकिन वो हम बाद में देखेंगे पहले जरा एक बार केसेस देखते हैं कैसे काम करते हैं तो स्विच और केसेस जरा ये समझते हैं तो उसके लिए मैं एक काम करता हूं यहां पर कोड में वापस आता हूं यहां पर ए फल्स लिखा हुआ है राइट इधर एक नई फाइल बना लेते हैं और इसका नाम रख लेते हैं स्विच लर्न स्विच और इसके अंदर हम बनाएंगे अपनी पब्लिक स्ट वॉइड मेन हिट टैब और इसको थोड़ा बड़ा कर लेता हूं मैं अब यहां पर समझते हैं इसको ठीक है कि सपोज करो आपको ऐसा कोड लिखना है कि आपको मैंने एक डे बताया डे की वैल्यू टूथ 4 कुछ भी हो सकती है तो आपको बताना है ये संडे है कि मंडे है कि ट्यूसडे कि वेनसडे इस तरीके से से कुछ ठीक है तो मैं आपको बताऊंगा इंट डे अगर डे वन है तो इसका मतलब संडे है टू है तो मंडे है इस तरीके से ऐसा कोड लिखना है आपको ठीक है तो आप कैसे कर सकते हो एक काम करते हैं यहां पर इंट डे नहीं लिखते सीधा हम एक काम करते हैं यहां पर ना स्कैनर से इनपुट लेते हैं हमने स्कैनर पढ़ा था लास्ट क्लास में राइट तो स्कैनर से इनपुट लेने के लिए क्या करते हैं स्कैनर एस इ न्यू स्कैनर और जैसे मैंने एंटर किया तो आपने देखा अपने आप इसने इंपोर्ट जवाय स्नर कर लिया है तो ये बेसिकली इंटेलीज अपने आप ही कर लेता है ठीक है system.in इस तरीके से मैंने स्कैनर का ऑब्जेक्ट बना लिया उसके बाद मैं एक काम करता हूं इंट डे इ एड नेक्स्ट इंट मैं यूजर से इनपुट ले रहा हूं और यूजर से इनपुट लेने से पहले बोलता यूजर को कि एंटर द डे इस तरीके से तो यूजर डे एंटर करेगा उसके बाद इस डे के बेसिस मुझे बताना है कि वो डे कौन सा है संडे मंडे ट्यूसडे ऐसे तो यह चीज आप इ से आप आराम से कर सकते हो राइट इफ डे वन तो आप यहां पर लिख सकते हो ऐसा आउट कर सकते हो कि भाई टुडे इज संडे राइट इस तरीके से आप लिख सकते हो उसके बाद आप य लिख सकते हो एल्स इफ डे अगर टू है तो आप यहां पर लिख सकते हो इस तरीके से राइट यह तो आपका इफल्स वाला तरीका है ही लेकिन इफल्स में आपको पता क्या होगा पहले यह चेक करा जाएगा फिर देखिएगा नहीं डे वन नहीं है तो इसको चेक करा जाएगा ठीक है इस तरीके से एक एक करके सब कुछ चेक हो रहा आप चाहते हो नहीं यह एफिशिएंट तरीका नहीं है इनएफिशिएंट तरीका मुझे ऐसे नहीं चलना मुझे स्विच केस यूज करना है तो आप स्विच केस यूज कर सकते हो और ऐसे वो काम करता है आप पहले लगाते हो स्विच फिर स् स्विच के बाद आप लगाते हो पैरेंस और इसके अंदर लिखते हो वो चीज जो आप कंपेयर करना चाहते हो बाकी सभी के साथ ठीक है तो वो वेरिएबल तो बेसिकली मैं यहां पर चेक करना चाहता हूं डे तो स्विच लगा रहा हूं मैं डे के ऊपर उसके बाद यहां पर लगाऊंगा मैं पेंसिस इस तरीके से अब मेरा स्विच वाले ब्लॉक के अंदर मैं आ चुका हूं अब उसके बाद इस स्विच के अंदर मैं मल्टीपल केसेस लगा सकता हूं ठीक है तो केस स्पेस देके वन फिर यहां पर लगाऊंगा मैं कलन तो ये मेरा केस वन बन चुका है ठीक है आप ऐसे समझ सकते हो कि ये स्विच था यहां पर आपने स्विच लगाया डे के ऊपर राइट यहां पर आपने लगाया डे के ऊपर स्विच यहां पर आप छोटा सा लिख सकते हो डे इस तरीके से ये आपका डे है ठीक है लेकिन उसके बाद आपने मल्टीपल केसेस बनाने इसके अंदर तो यहां पर केसेस बन रहे हैं केस वन आपका बन रहा है यहां पर ठीक है केस वन के अंदर आप लिखोगे इस तरीके से इंडेंटेशन देनी है इधर और उसके बाद लिखोगे यहां पर एस आउट टुडे इज संडे इस तरीके से तो केस वन के अंदर आपने इस तरीके से बना दिया टुडे इज संडे उसके बाद अगला केस बनाना है तो आप लिखोगे यहां पर शिफ्ट टैब दबाओगे तो आप आ जाओगे पीछे शिफ्ट टैब ठीक है टैब दबा के आप आगे जाते हो और शिफ्ट टैब दबा के आप पीछे आते हो केस टू अगला केस देता हूं मैं अगर टू है मतलब कि केस टू का मतलब यह है कि डे की वैल्यू वन है या फिर डे की वैल्यू टू है ठीक है यहां पे मैं डे को कंपेयर कर रहा हूं डे की वैल्यू टू है क्या अगर डे की वैल्यू टू है तो इसका मतलब यहां पे प्रिंट होल चाए टुडे इज मंडे एंड सो ऑन तो इसको मैं जरा जल्दी-जल्दी कर लेता हूं एक बार ठीक है तो यहां पर आप देख रहे हो मैंने एक-एक करके सारे के सारे केसेस बना लिए यहां पे और अब आप देखोगे यह काम कैसे करता है लेकिन यहां पर अभी एक गड़बड़ है ठीक है मैं बताऊंगा वो गड़बड़ क्या है तो आप क्या कर रहे हो पहले आपने डे इनपुट लिया यूजर से उसके बाद आप स्विच केस लगा दे रहे हो उस डे के ऊपर राइट तो इसको जरा चला के देखते हैं एक बार रन किया मैंने तो इफ एल्स वाला कोड हमें रन नहीं करना यहां पर हमें जो कोड रन करना है वो यह वाला है तो आप यहां से चलाओ इसको इस बार ठीक है अपने आप फिर ये यहां पर चेंज हो जाएगा ये कन्फेशन होती है बेसिकली यहां पर वो कन्फेशन चेंज हो गई है तो अब एंटर द डे पूछ रहा है ये मेरे से डे एंटर करने के लिए मांग रहा है तो मैं यहां पर डे एंटर करता हूं लेट्स से मैंने एंटर आप थ्री आपको पता है थ्री डे है भैया तो यहां पर ट्यूसडे प्रिंट होना चाहिए राइट जरा चला के देखते हैं क्या होता है तो यहां पर देखो क्या हुआ ट्यूसडे तो प्रिंट हुआ लेकिन उसके बाद वेनसडे थर्सडे फ्राइडे सैटरडे सब प्रिंट हो गया ठीक है आप ऐसा नहीं चाहते तो ये बेसिकली होता है स्विच केस के अंदर स्विच केस क्या करता है वो बोलता है देखो जो भी केस मैच हो जाएगा ना उसके बाद सारे के सारे नीचे जितने भी केसेस होंगे मैं सबको मैच कर दूंगा तो आप तो नहीं चाहते ऐसा हो राइट ये तो गड़बड़ हो गई तो इससे बचने के लिए आप एक चीज लगाते हो व्हिच इज कॉल्ड ब्रेक आप बोलते हो देखो भाई आपने जब हमारा काम कर दिया ना एक केस का तो आप यहां से ब्रेक कर जाओ आप सारे के सारे केसेस में मत घूमो ठीक है जैसे अभी क्या हुआ यहां पर ये सीधा गया केस नंबर थ्री पे क्योंकि डे थ्री था तो सीधा जंप कर ग थ्री पे उसके बाद ये थ्री में गया उसके बाद इसने सारे के सारे केसेस में जो भी लिखा था सब कुछ प्रिंट कर दिया आप बोल रहे हो नहीं ऐसा नहीं चाहिए मुझे मैं यहां पे लगा रहा हूं ब्रेक कि एक बार यह काम हो गया तो सीधा आप ब्रेक लगा दो आप यहां से बाहर निकलो सीधा ठीक है तो यह ब्रेक कंडीशन जैसे हिट होगी तो ये आपका स्विच से बाहर निकल जाएगा तो ये वाला जो ब्रेक है आपको रिकमेंडेटरी स्विच के अंदर लगाना तो आप इस तरीके से इसको ब्रेक लगा दोगे ब्रेक का मतलब होता है कि मैं इस वाले ब्लॉक से ब्रेक लेना चाहता हूं ठीक है इस वाले बलक ब्लॉक के बाहर जाना चाहता हूं ब्रेक करना चाहता हूं तो ये आपको यहां पे हर जगह लगा देना है इस तरीके से ब्रेक को इस तरीके से और अब ये ठीक से काम करेगा अब इसे दोबारा से चलाते हैं और एंटर द डेट दोबारा मांगा इसने लेट्स से थ्री मैंने डाला तो टुडे इज ट्यूसडे प्रिंट हुआ और यहां पर ये सीधा ब्रेक करके बाहर निकल चुका है ठीक है तो इस तरीके से आपका स्विच काम करता है समझ में आ रहा होगा कि आप यहां पर स्विच में बताते हो सबसे पहले पेंसिस के अंदर कि किस चीज के ऊपर आपको स्विच लगाना है उसके बाद उसकी क्या-क्या वैल्यू हो सकती है वो यहां पर बताते हो एक बात समझने वाली वो यह है कि स्विच के अंदर आपका सिर्फ वेरिएबल काम करेगा मतलब सीधा चेकिंग काम करती है यहां पर तो यहां पर जो वेरिएबल हो सकते हैं वो कौन-कौन से हो सकते हैं आपके प्रिमिटिव डेटा टाइप्स इंट लॉन्ग कैर ये सब चीज है इसके अलावा आपके जो नॉन प्रिमिटिव डेटा टाइप्स होते हैं मतलब जो आप खुद से बनाते हो वो यहां पर काम नहीं करेंगे लेकिन यहां पर स्ट्रिंग काम कर सकता है ठीक है सपोज करो आपको यहां पर स्ट्रिंग चेक करना है तो वो भी आपका यहां पर काम करता है तो कुछ ही गिवन चीजें हैं जो काम करती है विचार सबसे पहला जो मैंने आपको बताया प्रिमिटिव डेटा टाइप उसके अलावा आपका स्ट्रिंग काम करता है एक इनम होता है जो हम नहीं पढ़ेंगे ठीक है ज्यादा इंपॉर्टेंट नहीं है वो इनम भी लेकिन स्विच केस के अंदर काम करता है तो यही कुछ गिवन चीजें हैं जो स्विच के अंदर काम करती है और यहां पर ये सीधा इक्वल टू चेक करता है ठीक है कि डे बराबर है केस वन के डे बराबर है केस टू के इस तरीके से तो ये सीधा चेक करता है इनको ये दोनों बराबर है कि नहीं है ठीक है और फाइनली आपका ये ब्रेक लग के बाहर निकल रहा होता है तो ये आपके स्विच केस के अंदर कुछ कांसेप्ट होते हैं एक फाइनल कांसेप्ट बच गया आपका स्विच केसके अंदर वो यह कि आप इसके अंदर एक डिफॉल्ट भी लगा सकते हो जैसे आपको याद होगा इफ एल्स के अंदर आपके पास इफ एल्स हो होता है लेकिन फाइनली आपके पास मतलब मल्टीपल मल्टीपल एलसीएफ आप लगा सकते हो बीच में राइट एलसीएफ आपने यहां लगाया एलसीएफ आपने यहां लगाया लेकिन फाइनली आप एक एल्स भी लगा सकते हो इस तरीके से राइट फाइनल सबसे एंड में आपने एक एल्स लगा दिया कि अगर कुछ भी ट्रू नहीं है तो मेरा एल्स तो ट्रू हो गही होगा राइट तो वो भी आप चीज यहां पर कर सकते हो सपोज करो आपने एक डे ऐसा इनपुट किया जो इनमें से था ही नहीं वन से लेकर सेवन तक था ही नहीं सपोज करो मैंने डे एंटर कर दिया 10 व्च इज एन इनवैलिड डे राइट तो उस केस में यहां पर कुछ भी नहीं हुआ आप चाहते हो कि नहीं उस में यूजर को बताऊ मैं कि नहीं भाई आपने कुछ इनवैलिड चीज डाल दी है तो उसके लिए आप यहां पर डिफॉल्ट डाल सकते हो तो उसके लिए अगेन शिफ्ट टैब और यहां पर आप लिखोगे डिफॉल्ट डिफॉल्ट के बाद अगेन ये कलन आएगा और यहां पर आप वो चीजें लिखोगे जो आप चाहते हो कि डिफॉल्ट में हो कि वो चीज तब हो जब कुछ भी नहीं हो रहा तो आप यहां पर लिख सकते हो कि इनवैलिड डे इस तरीके से तो अब अगर मैं इसे रन करता हूं और अगर मैं यहां पर कुछ वन से लेकर सेन तक के बीच का कुछ नहीं डालता सपोज करो मैं यहां पर डालता हूं 10 तो यहां पर प्रिंट हो रहा है इनवैलिड डे क्योंकि आप यहां पर ले गए वो डिफॉल्ट केस के अंदर ठीक है एक चीज और यहां पर आप जितनी मर्जी लाइनें लिख सकते हो इनके अंदर ठीक है कहीं आप सोच रहे हो कि एक ही लाइन लिख सकता हूं नहीं यहां पर आप लिख सकते हो दिस इज ऑन संडे ठीक है तो अगर मैं इसे रन करता हूं और सपोज करो डे है वन तो यहां पर मल्टीपल लाइनों का भी सपोर्ट है तो आप यहां पर जितनी मर्जी लाइन लिखोगे वो आपका केस वन के ब्लॉक में आ रहा है एक कचा और है यहां पर वो ये कि केस वन के बाद आपको ये नहीं लगाना है यहां पे कहीं आपका मन करे कभी कि इसको मैं ब्लॉक में डाल देता हूं केस वन को ब्लॉक में डालता हूं नहीं ये सपोर्टेड नहीं है सिंटेक्स सिंटेक्स कुछ ऐसा है कि केस वन के बाद आपको कॉलन लगाना है उसके बाद यहां पर इंडेंटेशन देखके आप जो भी चीजें लिखोगे वो केस वन का पार्ट बन जाएंगे उसके बाद केस टू का पार्ट ये चीजें बन जाएगी केस थ्री का पार्ट ये चीजें बन जाएंगी एक चीज और यहां पर होती है कि सपोज करो आप चाहते हो कि दो केसेस के अंदर सेम काम हो आप चाहते हो कि वन के अंदर भी सेम काम हो टू के अंदर भी सेम काम हो तो आप उन दोनों चीजों को सेम चीज में डाल सकते हो बेसिकली मैं क्या कहना चाहता हूं कि दो केसेस को एक साथ लिख सकते हो आप ऐसे केस वन केस टू इस तरीके से फिर मैं यहां से केस टू को हटा देता हूं ठीक है तो अब क्या होगा केस वन के अंदर भी यही होगा केस टू के अंदर भी यही होगा तो आप चला के देख सकते हो यहां पे अगर मैं इसे रन करता हूं यहां पर डलता हूं मैं एंटर द डेट टू तो आप देखोगे केस टू के अंदर भी सेम चीज हो रही है तो आप यहां पर मल्टीपल केसेस एक के बाद एक के बाद एक लिख सकते हो उन सभी केसेस के अंदर सेम काम होने वाला है ठीक है तो इस तरीके से आपका स्विच केस काम करता है अब जरा फाइनली इफ एल्स के अंदर एक कांसेप्ट और जो बच गया है वो भी जरा देख लेते हैं व्हिच इज यूजिंग लॉजिकल ऑपरेटर्स तो अभी हमने देखा कि इसके अंदर कंडीशनल ऑपरेटर्स कैसे काम करते हैं लेकिन लॉजिकल ऑपरेटर भी आप लोग यूज कर सकते हो ठीक है और यूज करना भी चाहिए लॉजिकल ऑपरेटर्स क्या होते हैं आपके आपको याद आ रहा होगा एंड और और नॉट ये सारे आपके लॉजिकल ऑपरेटर्स होते हैं मैंने कहा था आपको लास्ट क्लास के अंदर कि लॉजिकल ऑपरेटर्स को हम यूज कर रहे होंगे स्विच केस के अ मतलब इफल्स के अंदर ठीक है बहुत ज्यादा तो एंड हो गया आपका और हो गया या फिर आपका जो नॉट होता है यू कैन यूज ऑल दीज टू क्रिएट सम कॉम्प्लेक्शन ठीक है तो इफ के अंदर आपको कुछ कॉम्प्लेक्शन लिखनी है मतलब आप चाहते हो कि दो चीजों को कंपेयर करके कुछ काम हो और उसके बाद उनको आपको कंपेयर किस तरीके से करना है एंड लागे करना है या फिर ऑ लागे करना है तो उस तरीके से आप यहां पर इफ के अंदर लॉजिकल ऑपरेटर्स का यूज कर सकते हो तो ये कैसे यूज होता है जरा ये समझ लेते हैं तो इस चीज को समझने के लिए हम आते हैं अपनी इफ एल्स वाली फाइल के अंदर और यहां पर एक एग्जांपल लेते हैं कि सपोज करो आपको मिलता है इंट टाइम और यह बता रहा है कि कितने बज रहे हैं जैसे सपोज करो 11 बज रहे हैं और मैंने आपको बोला है कि देखो भाई हमारा ऑफिस जो है ना वो सुबह 10:00 बजे से लेकर शाम के 88 बजे तक खुला रहता है तो शाम के जो 8:00 बज रहे हैं इसका मतलब आपका हो गया 20 ठीक है अगर 24 घंटे वाले फॉर्मेट से देखो तो ठ शाम के 8:00 बजे मतलब 20 बज रहे हैं तो आपको वो कंडीशन लिख र है कि आपका ऑफिस खुला है या बंद है यह बताओ कैसे करोगे तो उसको आप अभी तक मैंने जितना पढ़ाया है नेशन इफल्स वगैरह उसके अंदर करने का ट्राई करो कि आपका ऑफिस खुला है या बंद है यह प्रिंट करना है बेस्ड ऑन दिस टाइम तो आपने अगर किया होगा तो ऐसा कुछ बना होगा कि इफ टाइम इज ग्रेटर देन इक्वल टू 10 उसके बाद आपने इसके अंदर एक और इफ लगा दिया हो हो सकता है कि इफ टाइम इज लेस देन इक्वल टू 20 तब मैं कहूंगा ऑफिस खुला है ऑफिस इज ओपन अदर वाइज यहां पर मैं बोलूंगा ऑफिस इज क्लोज्ड या फिर मैं यहां पर भी बोलूंगा ऑफिस इज क्लोज्ड ठीक है तो यहां पर मैंने एक सिंपल सी चीज थी उसको मैंने इतना कॉम्प्लिकेट कर दिया लेकिन यह काम तो करेगा स्टिल ठीक है यहां पर चेक क्या हो रहा है कि मेरा जो टाइम है वो 11 बज रहे है राइट यह 10 से ज्यादा है हां यह 20 से कम है हां तो आपका ऑफिस ओपन है तो इसका मतलब 10 से 20 के बीच में अगर कोई भी टाइम होगा तब आपका ऑफिस ओपन होगा लेकिन इसके अलावा अगर कोई भी टाइम यहां पर आप डालते हो सपोज करो आपने टाइम डाला यहां पे वन ठीक है कि सुबह के 1:00 बजे आपका ऑफिस खुला है कि नहीं है तो आपको पता है कि ये कंडीशन ट्रू है नहीं ये कंडीशन फाल्स है तो आप सीधा यहां पर आ जाओगे आपका ऑफिस बंद है या फिर आप सपोज करो आप चले गए यहां पे 21 बजे ठीक है रात के 9:00 बजे तो यहां पर ये वाली कंडीशन ट्रू है हां ये वाली कंडीशन ट्रू है क्या ये वाली कंडीशन ट्रू है नहीं ये वाली कंडीशन ट्रू नहीं है तो आप अगेन ऑफिस इज क्लोज्ड तो इस तरीके से आपको जो कॉम्प्लेक्शन की हेल्प से इसको बहुत ज्यादा सिंपलीफाई कर सकते हो कैसे करोगे जरा समझते हैं तो मैं इसको ऐसे नहीं लिखूंगा ठीक है ये तो आपको समझ में आ गया होगा ठीक है नेस्ट डि फल्स है लेकिन इसको आप बहुत ही एलिगेंटली लिख सकते हो कैसे कि इफ टाइम इज ग्रेटर दन इक्वल टू 10 और उसके साथ एक और कंडीशन लगानी है मुझे टाइम इज लेसन इक्व 20 आप बोलो भा यहां पर तो दो दो कंडीशन हो गई एक यह वाली कंडीशन एक यह वाली कंडीशन तो यह तो आप लिख नहीं सकते इसके अंदर तो एक ही कंडीशन लिख सकते हो तो मैं बोल रहा हूं लिखता हूं मैं एक ही कंडीशन लि सकता हूं लेकिन मैं दो कंडीशन को क्लप भी कर सकता हूं क्योंकि फाइनल आउटपुट जो आनी चाहिए इस एक्सप्रेशन से वो एक बुलियन होना चाहिए राइट और मुझे पता है कि मेरे जो लॉजिकल ऑपरेटर होते हैं वो बुलियन वैल्यू रिटर्न करते हैं मुझे यहां पर लगाना है एंड कि टाइम 10 से बड़ा होना चाहिए और साथ में टाइम 20 से छोटा होना चाहिए तभी मैं बोलूंगा ऑफिस ओपन है तो यहां पर मैं लिखूंगा ऑफिस इज ओपन एल्स अगर इनमें से कोई एक भी कंडीशन फॉल्स हो जाती है तो हम एल्स में चले जाएंगे क्योंकि हमने यहां पर एंड लगाया हुआ है राइट एल्स ऑफिस ज क्लोज्ड तो यहां पर बेसिकली हो रहा है कि टाइम आपका 10 बजे से ज्यादा भी होना चाहिए और साथ में 20 बजे से कम भी होना चाहिए तभी आप बोलोगे ऑफिस ओपन है इसको चला के देख लेते हैं एक बार तो आप देखोगे एंटर द डे यह ऊपर वाला कुछ स्कैनर चल रहा होगा इसके अंदर आई गेस अच्छा नहीं लर्न स्विच चल रहा है यहां पर इसको हमें जाना है एल्स वाले को चलाना है इसको हम बंद कर देते हैं यहां से और इस इफल्स को चलाते हैं अब तो आप देख रहे यहां पर प्रिंट हो रहा है ऑफिस इ क्लोज्ड ऑफिस क्लोज क्यों है क्योंकि बज रहे हैं आपके 21 और आप आ रहे हो ऑफिस के अंदर तो ऑफिस तो क्लोज मिलेगा राइट बेसिकली आपकी ये वाली कंडीशन तो ट्रू हो गई लेकिन ये वाली कंडीशन आपकी फॉल्स हो गई तो इसलिए आप एल्स में चले गए सपोज करो आपकी ये वाली कंडीशन हो जाती है फॉल्स आपने यहां पे लिखा एट तो आपकी ये वाली कंडीशन ही फॉल्स हो गई अगर ये वाली कंडीशन फॉल्स हो गई ना तो एंड जो है वो ये वाली कंडीशन को चेक करेगा भी नहीं ठीक है तो ये एक बहुत इंपोर्टेंट कांसेप्ट होता है जो आपको मैं समझाना चाहता हूं वो ये कि एंड किस तरीके से काम करता है पता है एंड देखता है कि अगर ये वाली कंडीशन फॉल्स है ना तो मैं इस वाली कंडीशन को चेक करूंगा भी नहीं क्यों क्योंकि आपको पता है एंड फॉल्स तब होता है जब दोनों में से कोई एक भी फॉल्स हो तो अगर यह वाला फॉल्स मिल गया उसे तो इसको चेक करने का मतलब बनता है कोई नहीं बनता राइट तो यह वाला फॉल्स है अगर तो ये इसको चेक भी नहीं करेगा और सीधा यहां पर रिटर्न कर देगा एल्स में चला जाएगा ठीक है तो यहां पे आप देख सकते हो रन करके ऑफिस इज क्लोज्ड तो इस तरीके से आपके नेड इफ एल्स के अंदर आप सॉरी इफ एल्स के अंदर आपने देखा कॉम्प्लिकेटेड कॉम्प्लेक्शन आप कैसे लिख सकते हो बाय यूजिंग लॉजिकल ऑपरेटर्स तो इस तरीके से लॉजिकल ऑपरेटर काम करते हैं सिमिलर आप चाहो तो यहां पर और लगा सकते हो लेकिन और यहां पर वैसे कुछ मतलब बना नहीं रहा है मतलब इस क्वेश्चन में और कुछ मतलब नहीं बना रहा है लेकिन क्वेश्चन कुछ और टाइप का हो सकता हैम सपोज करो आपके ऑफिस के अंदर सुबह 12:00 बजे और शाम को 6:00 बजे यह दो टाइम पर लंच टाइम होता है अगर आपको यह देखना है कि लंच टाइम हो रहा है कि नहीं हो रहा है तो दो टाइम होते है एक तो सुबह 12:00 बजे एक शाम के 6:00 बजे इन दो टाइम पर चेक करना है तो उसके लिए क्या कर सकते हो आप ऐसे लिख सकते हो कि इफ टाइम इ इक्वल टू 12 या तो सुबह के 12 बज रहे हैं या फिर टाइम इज इक्वल टू शाम के छ मतलब 18 बज रहे हैं तो यहां पर आपका क्या आएगा एंड आएगा या और आएगा तो यहां पर आपका आएगा और राइट कि टाइम या तो 12 बज रहे हैं या फिर टाइम 18 बज रहे इन दोनों में से अगर कुछ भी बज रहा है तो हमें पता है कि हमारा लंच का टाइम हो गया ठीक है टाइम फॉर स्नैक्स एल्स टाइम टू वर्क ठीक है टाइम टू वर्क इस तरीके से तो अगर 12 या 18 बज रहे हैं तब तो टाइम फॉर स्नैक्स है अदर वाइज आपको काम करना है राइट और इसको चला के आप देख सकते हो आपका टाइम अभी हो रहा है 8:00 8:00 बजे तो कुछ भी नहीं होता तो 8:00 बजे तो आपका टाइम टू वर्क होता है इसको चला के देखते हैं तो यहां पे लिखा रहा है टाइम टू वर्क लेकिन आपके सपोज करो बज रहे हैं 18 18 बज रहे मतलब शाम के 6:00 ब रहे हैं इसको अब चलाओगे तो यहां पर लिखा आएगा टाइम फॉर स्नैक्स ठीक है तो इस तरीके से आपका और काम करता है और कैसे काम करता है और चेक करता है अगर यह वाली कंडीशन ट्रू मिल गई ना और को तो और यह वाली कंडीशन को चेक करेगा भी नहीं क्योंकि उसे पता है और के अंदर अगर एक भी चीज ट्रू है तो वो एक्सप्रेशन ही ट्रू है राइट लेकिन ये चेक करता है कि ये वाली चीज तो फॉल्स हो गई ओके ये फॉल्स हो गई तो मुझे ये वाला चेक करना चाहिए क्या पता ये ट्रू हो ये देखता है हां ये तो ट्रू है तो ये ट्रू है तो इसलिए ये वाली चीज प्रिंट हो गई ठीक है तो इस तरीके से आपका इफ एल्स कंडीशन के अंदर लॉजिकल ऑपरेटर्स काम कर रहे होते हैं तो आज हमने देखा लॉजिकल ऑपरेटर्स को स्विच स्टेटमेंट को भी देखा टरनरी ऑपरेटर देखा नेड इफल्स देखा इफल्स देखा कहीं भी अगर पूरे फल्स वगैरह के अंदर कहीं भी डाउट आता है स्विच केस के अंदर डाउट आता है कहीं भी कुछ भी क्वेश्चन आता है तो प्लीज आस्क योर मेंटर्स इसके बाद नेक्स्ट क्लास में हम देख रहे होंगे लूप्स कैसे काम करते हैं तो फॉर लूप्स वाइ लूप्स डू वाइ लूप्स ये सब कैसे काम करते हैं वो सब देखेंगे हम नेक्स्ट क्लास के अंदर ठीक है वो होगा नेक्स्ट क्लास में चलते हैं बाय बाय हे वस अप गाइ आज हम जावा के अंदर लूप्स के बारे में बात करने वाले हैं कि लूप्स कैसे काम करते हैं आपने काफी बार सुना होगा अगर बिल्कुल नहीं सुना था आपने इससे पहले प्रोग्रामिंग के अंदर कि लूप्स क्या होते हैं तो भी टेंशन मत लो बहुत ही अच्छे से समझने वाले हैं ऐसे समझेंगे कि आप लोगों को बिल्कुल भी लूप्स नहीं आ आता हूं और बाय द एंड ऑफ दिस वीडियो आपको बहुत अच्छी नॉलेज हो जाने वाली लूप्स की कैसे काम करते हैं इसके अंदर हम काफी सारे एग्जांपल भी कर करने वाले हैं तो हर टाइप के लूप समझ रहे होंगे एक-एक करके ठीक है बहुत ही बेसिक बिगनर फ्रेंडली तरीके से स्टार्ट करते हैं सबसे पहले अ क्या-क्या पढ़ने वाले आज की क्लास के अंदर वो देख लेते हैं तो सबसे पहले हम ये तीन टाइप के लूप्स होते हैं जावा के अंदर फॉर लूप वाइ लूप एंड डू वाइ लूप्स ये समझेंगे उसके बाद ब्रेक एंड कंटिन्यू स्टेटमेंट बहुत जरूरी होती है ये भी समझेंगे एंड देन नेस्टेड लूप्स जिस तरीके से नेस्टेड इफल्स कंडीशन होती है ना हमारी सेम टू सेम हमारी नेस्टेड लूप्स भी होते हैं वो भी देखेंगे एंड देन एक ये नया कांसेप्ट है लेबल्ड ब्रेक एंड कंटिन्यू स्टेटमेंट ये वैसे बहुत ज्यादा यूज़ तो करते नहीं है बट ये भी हम सीख रहे होंगे आज तो बिना किसी देरी के स्टार्ट करते हैं सबसे पहले अ एलिमेंट्स ऑफ अ जावा लूप तो बिल्कुल लूप्स की बेसिक से स्टार्ट करने वाले हैं कि लूप्स की जरूरत क्या पड़ती है तो प्रोग्रामिंग के अंदर क्या होता है ना कई बार कुछ चीजें आप बहुत ज्यादा रिपिटेटिव कर रहे होते हो जैसे सपोज करो आपको डेली ऑफिस जाना है तो आप क्या करते हो आप सुबह उठते हो जिम जाते हो आते हो नहाते हो ऑफिस जाते हो राइट ये चार-पांच स्टेप हैं आपके तो आपके ये जो चार-पांच स्टेप हैं ये ऐसा तो नहीं है ये चार-पांच स्टेप आपने एक ही दिन कर रहे हैं नहीं राइट आप इन चीजों को लूप पे करते हो राइट आप इन चीजों को लूप पर करते हो तो ऐसी चीजों को अगर आपको डिपिक्ट करना है जिसके अंदर आपके लूप के अंदर का सारे काम हो रहे हैं जैसे पांच स्टेटमेंट पांचों की पांचों बारबार चलती रहे तो वहां पर आप नहीं चाहते किय पांच पांच चीज आपको बारबार लिखनी पड़े राइट आप नहीं चाहते कि मैं बारबार कोड के अंदर लिखता रह पांच चीजों को बारबार लिखता रहा पांच चीजों को नहीं आप नहीं चाहते आप क्या करते हो इन पांच चीजों को एक ब्लॉक में डाल देते हो और उस ब्लॉक के बाहर लगा देते हो आप एक लूप अब ये लूप जो होता है वो तीन टाइप के हो सकते हैं हमारे फॉर लूप वाइल लूप एंड डू वाइल लूप तीनों से ही आप यह सारे काम कर सकते लेकिन तीनों के अंदर थोड़े-थोड़े बहुत डिफरेंस है तीनों को समझ रहे होंगे ठीक है लूप्स को जरा एक और तरीके से समझते हैं कि सपोज करो मैं आपको बोलता हूं कि हेलो वर्ल्ड प्रिंट करके दिखाओ तो आप बड़े आराम से प्रिंट कर सकते हो राइट फॉर एग्जांपल यहां पर आते हैं और इधर हम एक नया पैकेज बना लेते हैं लेट्स नेम इट लूप्स एंड लूप्स के अंदर मैं बनाऊंगा एक लर्न लूप्स और मैं इन सब को कर लेता हूं बंद और इसके अंदर हमें चाहिए सबसे पहले पब्लिक स्टैटिक वॉइड मन राइट पब्लिक स्टैटिक वॉइड मेन हेड टैब ये आई थिंक अभी तक आपको समझ में नहीं आया होगा कि भैया इसके अंदर यह जो चीजें लिखते हैं पब्लिक स्टैटिक वॉइड यह सब क्या होता है अगर आप कहीं और से नहीं पढ़ रहे तो लेकिन टेंशन मत लो धीरे-धीरे करके ये सारी चीजें आपको सेंस बनाने लगेंगे जैसे मैंने बताया था प्रोग्रामिंग लैंग्वेज के अंदर एक लीप ऑफ फेथ लेके चलना होता है यह सारी चीजें अभी सेंस नहीं बना रही है कि ये सब कीवर्ड्स क्या है इनका मतलब क्या है लेकिन धीरे-धीरे करके जैसे हम ऊप्स की तरफ मूव करेंगे ठीक है अभी तो हमने बेसिक पढ़ रहे हैं उसका जब हम ऊप्स मूव करेंगे तो इन सभी वर्ड्स का कुछ मतलब होता है तब चीजें समझ में आएंगी ठीक है अगली क्लास में आपको समझाएगा कि चलो फंक्शन कैसे काम करता है फंक्शन क्या होता है उसके बाद आप समझोगे क्लास क्या होती है तो ये सारी चीज स्टैटिक क्या होता है ठीक है ये जो आपने पास किया इसके अंदर ये क्या चीज है ये सब चीजें धीरे-धीरे करके समझ में आने लगेंगी अभी फिलहाल हमें अंदर का माल पता है अंदर क्या लिखते हैं अंदर हम ये लिखते हैं सिस्टम प्रल ठीक है सिस्टम डॉट आउट डॉट प्रिंट और इसके अंदर हम कुछ भी लिख सकते हैं राइट जैसे मैं लिखता हूं हेलो वर्ल्ड इस तरीके से तो मुझे पता है यह लाइन हेलो वर्ड प्रिंट करने वाली है हर स्टेटमेंट के बाद हमें एक सेमी कलन भी लगाना है इस तरीके से इसको रन करते हैं और आप देखोगे यहां पर हेलो वर्ल्ड प्रिंट हो गया बहुत अच्छी बात है मैं बोलता हूं एक काम करो हेलो वर्ल्ड ना पांच बार प्रिंट करके दिखाओ तो आप बोलोगे चलो ठीक है भैया मेहनत करवा रहे हो लेकिन कोई बात नहीं कमांड डी कमांड डी कमांड डी कमांड डी ठीक है कंट्रोल डी या फिर कमांड डी इससे मैंने इस लाइन को पांच बार लिख दिया है और अब मैं इसको चलाऊंगा तो मुझे पता है ये लाइन पांच बार हेलो वर्ल्ड प्रिंट करने वाली है अब मैं बोलूंगा एक काम करो 5000 बार हेलो वर्ल्ड प्रिंट करो ठीक है आप बोलोगे यार ये तो बहुत ज्यादा मेहनत वाला काम हो गया मुझे इस लाइन को 5000 बार रिपीट करना पड़ेगा राइट तो ऐसे काम बहुत ज्यादा होते हैं हमारी प्रोग्रामिंग के अंदर जहां पर हम चाहते हैं चीजें रिपीट हो जैसे लगा देते हो और वो हर टाइप की पोस्ट आपकी बनाता रहता तो आपके हजार पोस्ट बन जाती है हज रील्स बन जाती है राइट आप बनाते सिर्फ एक ही बार चीजों को आप लिखते सिर्फ एक बार और चीजों को आप इनको बस लूप में डाल देते हो तो वहां पर हमें लूप की जरूरत पड़ती है और इस टाइप के लूप्स हम देख रहे होंगे ठीक है अब अगर इसी चीज को मैं आपको दिखाऊं फॉर लूप की हेल्प से कितने आराम से कर सकते हैं तो मैं आऊंगा यहां पर फॉर लिखूंगा एंड आ इ 0 अगर ये समझ में नहीं आ रहा तो टेंशन मत लो ये हम समझेंगे अभी ठीक है लेकिन i लेसन इक्व टू लेट्स से 100 तो अब ये 101 बार प्रिंट करने वाला है हेलो वर्ल्ड एस आउट हेलो वर्ल्ड और आप मैं अगर टर्न करता हूं इसको तो आप देखोगे देखो कितनी बार हेलो वर्ल्ड प्रिंट हो गया यहां पे और मैंने सिर्फ एक ही बार लिखा है यही कमाल है लूप्स का तो अब जरा समझते हैं कि लूप्स कैसे काम करते हैं और ये जो मैंने तीन चीजें लिखी है ना यहां पे फॉर लूप के अंदर यहां पे मैंने काफी कुछ लिख दिया है जो आई थिंक अभी सर के ऊपर से जा रहा होगा अगर आप एकदम नए हो लूप्स के अंदर लेकिन चीजें सेंस बनाएंगी ठीक है देखते हैं कैसे तो एलिमेंट्स होते हैं हर जैसे लूप्स के अंदर ना एलिमेंट्स होते हैं कुछ कि आपको लूप को इनिश करना होता है उसके अलावा इसके अंदर एक एक्सप्रेशन होती है टेस्ट एक्सप्रेशन या फिर कंडीशन एक्सप्रेशन की कब लूप से बाहर निकलना है उसके बाद लूप को कैसे अपडेट करना है हर एक लूप के एंड में और उसके बाद बॉडी ऑफ द लूप जिसके अंदर आपने जो भी चीजें लिखी है राइट ये जो बॉडी है तो यह चीजें अगर मैं आपको यहां पर दिखाऊं तो आप यहां पर देखोगे के दिस थिंग राइट हियर ये जो शुरुआत वाला पार्ट था ना फॉर लप के अंदर ये हमारा पार्ट था इनिला वाला यह वाला पार्ट है हमारा कंडीशन वाला ठीक है यह वाला पार्ट है हमारा इंक्रीमेंट वाला या फिर अपडेट वाला जो कह रहे थे और उसके बाद यह वाला जो पार्ट है ना पूरा यहां से लेकर जो स्टार्ट हो रहा और यहां पर खत्म हो रहा है इसके बीच में जो भी आ रहा है दिस होल थिंग यह हमारा पार्ट है बॉडी वाला ठीक है तो इनिला और कंडीशन एंड देन अपडेशन उसके बाद यहां पर ये आप देखोगे यहां पर य तो तीन चीजें बन रही है य तीन चीज सेपरेट किस चीज से हो रही है तो ये तीन चीज सेपरेट हो रही है इनसे यहां पर देख ो ये यह चीज सेमीकलन एक सेमीकलन आपने यहां पर भी देख रहे होंगे तो यहां पर हमारे पास दो दो सेमीकलन है इन दो सेमीकलन से दो सेमीकलन से हमारे पास तीन पार्ट बन जाते हैं पहला पार्ट दूसरा पार्ट और तीसरा पार्ट उसके बाद यह जो पूरी की पूरी बॉडी होती है यह हमारी चौथा पार्ट बनती है वि ज बॉडी पहला पार्ट होता है इजेशन दूसरा पार्ट होता है हमारा कंडीशन चेकिंग तीसरा पार्ट होता है अपडेट वाला और इसके बाहर हमारा और लूप आ रहा होता है इस तरीके से ठीक है तो ये आपको समझ में आ रही होंगे चीजें कहां-कहां पर दिख रही है अब जरा इनको एक-एक करके समझते हैं हम ठीक है तो सबसे पहला है इनिश जशन एक्सप्रेशन ये हमारी एक्सप्रेशन को इनिश इज करने काम में आता है कि कहां से आप स्टार्ट कर रहे हो लूप को चलाना राइट कहीं से तो आप स्टार्ट कर रहे होगे लूप को चलाना आप बताओगे कि मेरा जो लूप है यहां से स्टार्ट हो रहा है सपोज करो मैं आपको बोलता हूं नंबर लिख के दिखाओ रो से लेकर 100 तक तो आपका स्टार्ट कहां से हो रहा है रो से मैं बोलता हूं कि नहीं एक काम करो 10 से लेकर 100 तक नंबर लिखो तो आपका स्टार्ट कहां से हो रहा है 10 से ठीक है 10 से स्टार्ट हो रहा है उस केस में तो आप बताते हो कि आपका जो लूप है वो आपको स्टार्ट कहां से कर वो स्टार्ट करने के टाइम पे ये यह बेसिकली जो आपने लिखा ना यहां पर पहला पार्ट जो है यह सिर्फ एक बार एग्जीक्यूट होगा एक बार चलेगा सिर्फ एक बार से दोबारा नहीं चलेगा ये और कब चलेगा जब आप पहली पहली बार इस लूप के अंदर आए हो क्योंकि आपको इनिश इज जो स्टार्टिंग है वो सिर्फ एक ही बार करनी होती है राइट स्टार्ट तो हमें सिर्फ एक ही बार करना होता है गाड़ी को उसके बाद गाड़ी चलती रहती है पूरे टाइम उसके बाद गाड़ी बंद हो जाती है गाड़ी बंद कब होती है जब आपकी कोई कंडीशन ट हो जाती है कि चलो घर पहुंच गए घर पहुंच गए मतलब कंडीशन ट होनी चाहिए राइट कि कब तक गाड़ी को चलाना है तो यह वो चीज है बीच वाली चीज कंडीशन वाला पार्ट ठीक है जो यहां पर लिखा हुआ है टेस्ट एक्सप्रेशन या फिर कंडीशन तो ये हमारा बीच में आता है यह बता रहा है जब तक i छोटा है 100 से तो यहां पर एक कंडीशन आनी चाहिए कंडीशन आपको पता है इदर ट्रू या फॉल्स रिटर्न करनी चाहिए और हमें पता है ये कि ये जो ऑपरेटर है यहां पर ये आपका बुलियन वैल्यू रिटर्न करने वाला है ट्रू या फाल्स तो जब तक i लेसन 100 है तब तक लूप चलाना है या फिर ये भी कह सकते हो कि जब तक ये बीच वाला पार्ट ट्रू रिटर्न कर रहा है जब तक ये बीच वाला पार्ट ट्रू दे रहा है तब तक चलाना है तो ये भी समझ में आ रहा होगा कि ये वाला पार्ट तो आपका हर बार चलेगा लूप के अंदर हर बार इसको इवेलुएट किया जाएगा कि इस चीज की वैल्यू क्या निकल के आ रही है अब तीसरा पार्ट यह है इसे हम कहते हैं अपडेट ठीक है अपडेट एक्सप्रेशन ये वाला पार्ट आपका जब एक बार लूप की बॉडी चल जाती है ना एक बार आपकी लूप की बॉडी चल गई उसके बाद में ये वाला पार्ट एग्जीक्यूट होता है ठीक है ये वाला पार्ट रन होता है या फिर चलता है एग्जीक्यूट करने का मतलब रन होना या चलना ठीक है अब इस पार्ट की बारी आई है चलने की इ वैल्युएट होगा तो ये वाला पार्ट क्या है यहां पर लिखा हमने i+ प् यहां पर देखो मैंने इंट i = 0 लिखा है आप यहां पर कुछ भी लिख सकते हो यूजुअली हम i लिखते हैं ठीक है लेकिन आप यहां पर किसी भी टाइप के वेरिएबल को इनिश इज कर सकते हो यहां पर आप किसी भी टाइप की कंडीशन को लिख सकते हो यहां पर आप किसी भी टाइप के वेरिएबल को अपडेट कर सकते हो बेसिकली यहां पर आप वह चीज़ें लिखते हो जो आप चाहते हो कि एक बार जब लूप रन हो जाए मेरा पूरा ब का पूरा उसके बाद यह चीज़ रन हो और ये चीज़ अपना काम करे ठीक है तो हम क्या कर रहे हैं i + प् कर दे रहे हैं बेसिकली i = i + 1 कर दे रहे हैं मतलब i की वैल्यू अगर पहले ज़ीरो थी तो अगले एक इटरेशन के बाद i की वैल्यू हो जाएगी वन इस तरीके से इसको अगर ठीक से समझना है तो एक काम करते हैं यहां पर आता हूं मैं और ए आउट लिखता हूं मैं और यहां पर i ले इ 100 नहीं यहां पर लेन इ 5 कर देते हैं और यहां पर मैं ना आई प्रिंट करता हूं सिर्फ ठीक है देख रहे हो सिर्फ आ प्रिंट कर रहा हूं इसको चलाते हैं तो मुझे बताओ यहां पे क्या प्रिंट होने वाला है वैसे काफी लोगों को पता चल गया होगा क्या प्रिंट होने वाला है यहां पे जीरो से लेकर फ तक हमारे नंबर्स प्रिंट होने वाले हैं ठीक है 0 1 2 3 4 5 तो ये बेसिकली क्या क्वेश्चन हो गया कि मैंने आपको बोला कि जीरो से लेकर पाच तक नंबर प्रिंट करके दिखाओ विद द हेल्प ऑफ फॉर लूप तो वो इस तरीके से आंसर होगा आपने एक लूप चलाया स्टार्ट कहां से करना है भैया कहां से स्टार्ट करने के लिए कह रहे हो जीरो से स्टार्ट करने के लिए कह र ठीक है तो इलाज किया हमने जीरो से ठीक है उसके बाद कब तक चलाना है भैया जब तक आ लेन इ 5 है क्योंकि आपको पाच तक नंबर लिखने है राइट तो जब तक आ की वैल्यू पाच या उससे छोटी है तब तक ये वैल्यू ट्रू है तब तक यह रूप आपको चलाना है ठीक है तो एक बार आपने पहली बार जब आप आए तो इस तरीके कार एजीक्यू फ्लो होने वाला है जरा मैं समझाता हूं आपको कि होता क्या है कि जब आप आए तो सबसे पहले ये चीज चलेगी ठीक है ये चीज चल गई उसके बाद चेक की जाएगा क्या i की वैल्यू लेस दन 5 है तो i की वैल्यू क्या है i की वैल्यू तो अभी फिलहाल जीरो है राइट क्योंकि i को आपने रो से इलाज किया है उसके बाद यह चीज नहीं चलेगी सीधा बॉडी चल जाएगी ठीक है तो पहला ये दूसरा ये तीसरा यहां पे हमारी बॉडी चलेगी बॉडी क्या करेगी प्रिंट कर देगी i की वैल्यू को i की वैल्यू क्या है रो तो हमारा i यहां पे प्रिंट हो गया रो जब हमारा पूरा का पूरा ब्लॉक खत्म हो गया उसके बाद i प्स प्लस चलेगा ठीक है ये वाली चीज अब रन होगी चौथी बारी में और i की वैल्यू को ये जीरो से हटा के कर देगा वन राइट जीरो से इंक्रीमेंट होके हो जाएगा वन बिकॉज i प् प्स का मतलब क्या होता है i प् प्लस का मतलब होता है i प् इ 1 या फिर हम कह सकते हैं i = i + 1 बात एक ही है ठीक है बेसिकली आपने i के अंदर एक नंबर इंक्रीमेंट कर दिया है तो अब अगेन आपका लूप चलेगा अब चेक किया जाएगा अगेन फोर के बाद फाइव पांचवे नंबर पे आपकी कंडीशन फिर से चेक की जाएगी क्या मेरा जो आ है व्हिच इज वन इट इज लेस दन फ हम देखेंगे हां लेस दन फव है तो अगेन लूप चला दो ठीक है तो फर फ अब अगेन सिक्स नंबर पे अगेन ये चलने वाला है आपका लूप इसलिए हम कहते हैं लूप में चल रहा है ये कंडीशन दोबारा से रन हो रही है आपकी ठीक है आप नीचे नहीं आ गए इस लूप से बाहर नहीं निकले आप जैसा आपका नॉर्मली होता है कोड कोड क्या होता है ऊपर से लेकर नीचे तक चलता रहता है यहां पर ऐसा नहीं हो रहा यहां पर कोड आपका लूप में जा रहा है वापस ठीक है यहां चला यहां चला यहां चला यहां पर कंडीशन चेक की वापस ऊपर चला गया यहां पर कंडीशन चेक की वापस चला चला चला फिर यहां पर कंडीशन चेक करी इस तरीके से लूप में घूमता रहेगा ये ठीक है कब तक लूप चलाना है वो इस पर डिपेंड करेगा अब आ की वैल्यू यहां पर हो गई आपने i की वैल्यू वन प्रिंट कर दी ठीक है i की वैल्यू वन प्रिंट हो गई भाई उसके बाद i प् प् दोबारा चला तो सातव नंबर पे ये चलेगा दोबारा से ठीक है छठे नंबर पे ये चला सातव नंबर पे आपकी i प्स प्स दोबारा चलेगी और यहां पर आपकी i की वैल्यू वन से इंक्रीमेंट होके जाएगी टू ठीक है आ के अंदर एक इंक्रीमेंट हो गया है तो इस तरीके से आपका ये लूप चलता रहेगा कब तक चलेगा जब तक कि i की वैल्यू यहां पर फाइव नहीं हो जाती फाइव के बाद अगेन जब फाइव हो जाएगी तब भी आपके लूप में जाओगे क्योंकि i इ ले इ 5 तो 5 इ ले इ 5 ट्रू बात है आप लूप में पांच प्रिंट कर दोगे यहां पर ठीक है उसके बाद आपका लास्ट में यहां पर आएगा एकदम लास्ट में और यहां पर चेक किया जाएगा मतलब यहां पर इंक्रीमेंट होगा इंक्रीमेंट होके आ की वैल्यू जो पहले फ थी अब वो फ से हटके हो जाएगी आपकी वैल्यू सिक्स ठीक है जैसे ही आपकी वैल्यू आ की वैल्यू सिक्स होती है आपकी यहां पर कंडीशन चेक की जाती है क्या आ इज लेसन इक्व 6 क्या मतलब सि बेसिकली आ की वैल्यू स है क्या 6 लेन इ 5 है यह रिटर्न करेगा फाल्स ठीक है यह रिटर्न करेगा फॉल्स तो जैसे ही यहां से फॉल्स मिलता है आप इस से बाहर निकल जाओगे ठीक है जैसे ही यहां से फॉल्स मिला आप इस लूप से बाहर निकल जाओगे बेसिकली ठीक है यहां पे आ गया आप ये लूप से बाहर निकल गया मैं लूप से ब्रेक कर गया तो ये रिक्वायरमेंट होती है आपकी कंडीशन से बाहर निकलना तो आपने देखा होगा ये वाला जो पहला वाला है ये सिर्फ एक बार चलता है ठीक है पहली वाली एक्सप्रेशन सिर्फ एक बार चली इनिश इज करते टाइम उसके बाद आपकी ये सारी चीजें रिपीट करते जा रही है रिपीट करते जा रही है रिपीट करते जा रही है ठीक है तो आई थिंक पूरा का पूरा लूप का सिलसिला समझ में आ गया होगा कि लूप कैसे काम करता है लूप किस तरीके से हमें हेल्प करता है कुछ लाइन को बार-बार रिपीट करने के और इसकी हेल्प से आप लोग कमाल कमाल के काम कर सकते हो जो अभी हम देखेंगे कैसे करते हैं ठीक है बट आई थिंक लूप समझ में आ गया होगा तो इसी के साथ आगे बढ़ते हैं और एलिमेंट्स तो हमने देख लिए सब के सब देख लिए राइट ये आपका एक बार चलता है इनिश इइ हो गया उसके बाद आपके टेस्ट एक्सप्रेशन होते है जिसे चेक करते हैं कि लूप से बाहर निकल रहे हैं कि नहीं निकल रहे हैं ये आपका लूप की बॉडी जब रन हो जाती है उसके बाद अपडेट रन होता है एंड देन ये आपकी लूप की बॉडी है तो इस तरीके से आपका लूप काम करता है ठीक है अब हम देखेंगे एक-एक लूप को जरा ठीक से तो हमने फॉर लूप तो ऑलरेडी वैसे देख लिया ठीक है फॉर लूप हमने देख लिया कैसे आप इनिश इजेशन कंडीशन में आए जो आपका लिखा था ना i = 0 ये आपका इनिला ब्लॉक था राइट ये आपका एक बार रन होता है उसके बाद आप टेस्ट कंडीशन में आए विच वाज i < इ 5 राइट ये आपकी टेस्ट कंडीशन है चेक किया जाएगा क्या टेस्ट कंडीशन ट्रू है यहां पर आप इसको समझ सकते हो इस तरीके से ठीक है फिगरेटिवली हमने इसको एक्चुअली लिटरली मीनिंग तो देख लिया कैसे आपका लूप काम कर रहा था बट फिगरेटिवली समझना है अगर हमें तो यहां पर समझ सकते हैं क्या टेस्ट कंडीशन ट्रू है हां टेस्ट कंडीशन ट्रू है बिकॉज i की वैल्यू तो जीरो है तो ये ट्रू है तो आप बॉडी में आ जाओगे इस लूप की और जब आपकी बॉडी खत्म हो जाएगी तो आप अपडेट कर दोगे आ की वैल्यू को व्हिच इज i प्लस प्स ठीक है आपने i प् प्स किया आप अगेन टेस्ट कंडीशन में गए अब आपके आ की वैल्यू अपडेट हो ग i की वैल्यू वन हो चुकी है वन अगेन लेसन इ 5 है हां 1 लेसन 5 है तो अगेन ट्रू है तो इस तरीके से लूप में जाते रहोगे जाते रहोगे जब तक i की वैल्यू सिक्स नहीं आती जैसे आपके आ की वैल्यू 6स होती है 6 ले = 5 ये आपको फॉल्स देने वाला है फॉल्स देगा तो आपका लूप टर्मिनेट हो जाएगा ठीक है बहुत ही सिंपल था बहुत ही ज्यादा सिंपल था ठीक है हम इसे मल्टीपल एग्जांपल से देखेंगे तो हमें और ज्यादा क्लियर होने वाला है तो सपोज करो पहला एग्जांपल हम लेते हैं यहां पे अ व्हिच इज अ टेबल लिख के दिखाओ टेबल ऑफ एनी नंबर n ठीक है तो आप यूजर से बोलोगे जैसे आपको याद होगा बचपन में 2 * 1 2 2 * 2 4 ऐसे करके राइट तो ये टेबल आपको लिखनी है आप यूज़र से मांगोगे n की वैल्यू उसके बाद आपको उसका टेबल लिखना है या आपको लूप के हेल्प से करना है कैसे करोगे तो बहुत ही सिंपल है जी कुछ नहीं करना सबसे पहले यूजर से इनपुट लेना है तो उसके लिए हमें स्कैनर यूज़ करना पड़ेगा राइट तो स्कैनर ए = न्यू स्कैनर यह आपको रट लेना है फिलहाल के लिए कि ऐसे ही काम करता है यह बाकी अच्छे से हम समझेंगे जब हम उप्स वगैरह पढ़ रहे होंगे तो इस तरीके से मैंने स्कैनर का ऑब्जेक्ट बना लिया अब मैं यहां पर यूजर से बोलूंगा ठीक है अ एंटर एक सेकंड एंटर अ नंबर यूजर आएगा और यूजर बोलेगा ठीक है नंबर यह रहा इंट n = एड ने इंट यूजर ने जो भी नंबर इनपुट किया एंटर किया वो मैंने n नाम के वेरिएबल में डाल लिया है तो बेसिकली मुझे n का टेबल लिखना है राइट सपोज करो n की वैल्यू 3 है तो ी का टेबल क्या होगा 3 6 9 12 इस तरीके से राइट थ का टेबल ऐसे ऐसे बढ़ता रहेगा आपका टेबल कहां से स्टार्ट होता है टेबल स्टार्ट होता है वन से लेकर कब तक चलता है 10 तक राइट तो वन से स्टार्ट होगा और 10 तक चलेगा तो i ले = 10 व से स्टार्ट होगा और एकएक करके 10 तक चलेगा अब मैं यहां पर क्या करूंगा i की वैल्यू वन है 1 मल्टीप्ला बाय n मैं यहां पर प्रिंट कर देता हूं 1 म बा n ठीक है तो पहली बारी में ये होगा n दूसरी बारी होगा ये 2n तीसरी बार में होगा 3n 4n 5n और इस तरीके से मेरा ये टेबल बनता जाएगा ठीक है तो इसको रन करके देखते हैं बड़ा सिंपल सा कोड है ये भी सबसे पहले बोल रहा है एंटर अ नंबर मैं यहां पे थ्री रन करता हूं उसके बाद आप देखोगे 3 * 1 3 3 * 2 6 3n 4n 5n 6n इस तरीके से 10n प्रिंट कर दिया इसने ठीक है समझ में आ रहा है किस तरीके से लूप काम कर रहा है इसको थोड़ा और अगर फैंसी तरीके से लिखना है जो एक्चुअली आप देखते होंगे ना 3 1 3 इस तरीके से बेसिकली अगर आपको ऐसे लिखना है कि 3 1 एक इ 3 3 म बा 2 = 6 इस तरीके से अगर आपको लिखना है तो कैसे लिखोगे तो ये भी बड़ा सिंपल है भैया लिख लेंगे आराम से कोई दिक्कत ही नहीं है आपने ये लाइन तो लिखना सिखा दिया हमें इसी लाइन में थोड़े बहुत हमें ट्वीक्स करने हैं तो कैसे कर सकते हैं तो हमें सबसे पहले क्या लिखना होता है वो नंबर जो हमें जिसका हमें टेबल लिखना है राइट दैट नंबर इज n n लिखा मैंने पहले उसके बाद ऊा मैं प्लस और ये ठीक है इससे बेसिकली हमारी एक स्ट्रिंग लिख जाती है यहां पर तो हमने पहले थ्री लिखा उसके बाद मैंने के बाद स्पेस दिया और स्पेस देने के बाद मैंने लगाया मल्टीप्लाई फिर मैंने दोबारा स्पेस दिया फिर मैंने लगाया प्लस और किसका मल्टीप्लाई कर रहा हूं मैं आ का मल्टीप्लाई कर रहा हूं राइट प्लस लगाकर मैंने लिखा यहां पर आई उसके बाद मैंने अगेन प्लस लगा के यहां पर स्ट्रिंग बनाया तो 3 मल्टीप्ला बाय 1 फिर इक्वल टू और यहां पर प्लस लगा के आ मल्टीप्लाई बा n अगर ये थोड़ा कन्फ्यूजिंग लग रहा है तो जरा समझेंगे इसको ठीक से पहले मैं एक बार इसे चला के दिखाता हूं आपको ये कैसे काम कर रहा है तो इसको अगेन रन करते हैं हम और मैं अगेन यहां पे थ्री ही लिख देता हूं और आप देखोगे 3 * 1 3 3 * 2 6 और 3 * 10 30 समझ में आ रहा है वैसे ये कैसे हुआ पहला नंबर जो है वो है n जो कि आपका बार-बार सेम रहेगा थ्री रहेगा देख रहे हो ऊपर से लेकर नीचे तक थ्री है तो इसलिए यहां पर n है ये अगला चीज है i जो कि आपका चेंज हो रहा है i की वैल्यू पहले वन है टू है थ्री है इस तरीके से i की वैल्यू वन से लेकर 10 तक जा रही है ठीक है i की वैल्यू आपकी वन से लेकर 10 तक जा रही है और यहां पर जो चीज है इक्वल के बाद जो आप प्रिंट कर रहे हो व्हिच इज i म बा n वो आप आपका बेसिकली 3 * 1 3 * 2 इस तरीके से है और इस तरीके से आप एक ्र का टेबल लिख पाए और ये हमने इस तरीके से बनाया है कि आप किसी भी मर्जी नंबर का टेबल लिख सकते हो फॉर एग्जांपल नाइन का टेबल लिखना है तो ये नाइन का टेबल हो गया राइट तो इस तरीके से हमारा ये बेसिक सा कोड है जिसमें आप टेबल लिख पा रहे हो इसमें अगला क्वेश्चन करते हैं व्हिच इज फाइंड द सम ऑफ ए नेचुरल नंबर्स ठीक है तो दूसरा हो जाएगा सम ऑफ n नेचुरल नंबर्स यह भी बहुत इजी है आराम से कर सकते हो आप लोग फॉर लूप की हेल्प से ठीक है कैसे करेंगे तो बेसिकली एक काम करता हूं मैं इस पार्ट को तो कर देता हूं कमेंट ठीक है जिसके अंदर आप ये कर रहे थे हमें सम चाहिए राइट वन से लेकर n तक का n की वैल्यू कुछ भी हो सकती है सपोज करो n की वैल्यू 5 है तो हमें चाहिए बेसिकली ये कमेंट करके मैं यहां पर लिख रहा हूं 1 + 2 + 3 + 4 + 5 इस तरीके से राइट और इनका सम कितना आता है इनका सम हमें पता है जोड़ेंगे तो 15 आएगा राइट n * n + 1/2 वैसे फार्मूला होता है हमारे पास सीधा जैसे आप इजली निकाल सकते हो किसी भी n नेचुरल नंबर्स का सम n * n + 1/2 राइट आपको मैं बता देता हूं सम ऑफ n नेचुरल नंबर्स का फॉर्मूला क्या होता है ये हमने बच्चों में पढ़ा होगा n * n + 1 / 2 एन की लिए अगर 5 है तो 5 म बा 6 व्हिच इज 30 / बा 2 व्हिच इज 15 इस तरीके से आप किसी भी अननेचुरल नंबर्स का सम निकाल सकते हो लेकिन अगर लूप की हेल्प से करना है बेसिकली आपको एक-एक करके नंबर्स ऐड करने हैं तो वो भी आप आराम से कर सकते हो कैसे करोगे जरा समझते हैं तो यहां पर आके थोड़ा सा हम एक तरीके से लॉजिकल लॉजिक बिल्डिंग की तरफ आगे बढ़ रहे हैं धीरे-धीरे करके ठीक है प्रोग्रामिंग का यूज़ क्यों कर रहे हैं हम प्रोग्रामिंग हम इसलिए सीख रहे हैं बिकॉज़ इससे हम अपनी लॉजिक बिल्ड कर रहे हैं अभी हम बहुत ही बेसिक लॉजिक बना रहे हैं कि ठीक है सम निकालना है लेकिन इतने सिंपल क्वेश्चन आते नहीं है इंटरव्यूज के अंदर इंटरव्यूज के अंदर बहुत एडवांस टाइप के क्वेश्चन आते हैं एरिज का यूज़ कर रहे होंगे वो नंबर्स का यूज़ कर रहे होंगे कुछ ना कुछ और एडवांस लॉजिक लग रहा होगा लेकिन बेसिक बिल्डिंग ब्लॉक्स तो यही है आपके लूप्स लगता है उनके अंदर कंडीशन लगती है उनके अंदर एरे लगते हैं बेसिक चीजें लगती हैं ठीक है तो वो बेसिक चीजें समझेंगे उसके बाद ही हम अच्छी चीजें बना पाएंगे सबसे पहले इसकी बात कर लेते हैं लेकिन तो सपोज करो हमारे पास वेरिएबल है इंट सम जो कि मैंने इनिला इज किया है रो से ठीक है इस चीज को चाहो तो आप यहां भी लिख सकते हो ठीक है यहां पर लिखते सपोज करो फॉर लप बनाया मैंने यहां पे मैंने इंट सम = 0 लिख दिया साथ में मुझे पता है वन से लेकर फ तक का सम निकालना है राइट तो यहां पे आप मल्टीपल चीजें लिख सकते हो इनिला ब्लॉक जो है उसके अंदर मल्टीपल चीजें लिख सकते हो आप सेपरेटिंग देम बाय कॉमा तो मैं यहां पर सेपरेट करूंगा इसको कॉमा से और यहां पे लिखूंगा अ इ सम = 0 साथ में i = 1 इस तरीके से तो यहां पर बेसिकली हो क्या रहा है हमारे पास दो वेरिएबल बन गए सम हमारा जीरो से स्टार्ट हो रहा है और आ हमारा वन से स्टार्ट हो रहा है उसके बाद कब तक लूप चलाना है जब तक i इज लेस देन इ n है उसके बाद i प्स प्लस कर देंगे हम तो यहां पर आप देख रहे हो हमारा इनिला ब्लॉक के अंदर क्योंकि इनिला वाली चीज जो है वो सिर्फ एक बार रन होती है तो हमारा सम नाम का वेरिएबल सिर्फ एक बार बनेगा सिमिलरली हमारा आ नाम का वेरिएबल भी एक बार बनेगा उसके बाद बार-बार बस ये रिपीट होता रहेगा राइट चलो अब देखते हैं हम क्या करने वाले हैं हम क्या करेंगे सम के अंदर ऐड करेंगे सम इक्वल टू सम प्लस आ तो शुरुआत में आ की वैल्यू होगी वन और वो वन वैल्यू हमारी सम के अंदर ऐड हो जाएगी इस तरीके से मैं बताऊंगा वैसे वन का टू ऐड होगा थ ऐड होगा इस तरीके से हमारे सम के अंदर फाइनली सम आ जाएगा और जो कि हम यहां प्रिंट कर सकते हैं एस आउट सम इज प्लस लगा के यहां पर मैं सम प्रिंट करा देता हूं और अच्छा यहां पर एक्चुअली दिक्कत हो गई लेकिन दिक्कत क्या हमारा बेसिकली स्कोप होता है हमारे वेरिएबल का स्कोप होता है आप स्कोप जरा समझ लेते हैं इसी के साथ ही ठीक है बिकॉज काफी सही टाइम ये चीज मुझे दिख गई है कि स्कोप क्या होता है भैया स्कोप का मतलब ये होता है कि जो चीज आपने जिस ब्लॉक के अंदर बनाई है वो सिर्फ उसी ब्लॉक के अंदर यूजफुल रहेगी उसके बाहर वो चीज यूजफुल नहीं रहेगी उसके बाहर आप उसको जावा को मिलेगा ही नहीं है बेसिकली आपने आई जो बनाया है आई नाम का वेरिएबल यह सिर्फ इसी ब्लॉक के अंदर विजिबल है इसी ब्लॉक के अंदर जिंदा है इस ब्लॉक के बाहर वह खत्म इस ब्लॉक के से जैसे ही बाहर निकले उस ब्लॉक के बाहर वोह खत्म हो चुका है मेमोरी में से जा चुका है इसका मतलब सम नाम का जो वेरिएबल था वह सिर्फ यहां पर तो आपको मि मिलेगा इस ब्लॉक के अंदर तो मिलेगा सिमिलरली आ नाम का वेरिएबल यहां तो आपको मिलेगा लेकिन यहां पे आप बाहर निकल के सम या फिर आई प्रिंट कराने का ट्राई करोगे तो वो नहीं मिलेगा बिकॉज वो सिर्फ इसी ब्लॉक तक लिमिटेड है तो भैया मुझे तो बाहर भी चाहिए मुझे तो सम बाहर प्रिंट कराना है राइट तो वो मैं कैसे कराऊं तो उसका एक ही तरीका है वो ये कि सम को आप बाहर ही लिखो तो इंट सम इक्व ट 0 आप बाहर बना लो अब ज आपने बाहर बना लिया है तो अंदर आप रिपीट नहीं कर सकते इस तरीके से सम को ठीक है तो फाइनली हमें वही करना होगा जो हम पहले कर रहे थे कि सम आपने बाहर बनाया इस तरीके से इंट सम इ 0 अंदर आपने नॉर्मल रखा लूप हो लेकिन कांसेप्ट तो हमें समझ में आ गया राइट कि आप इसके अंदर जितनी मजी चीजें लिख सकते हो सेपरेट देम बाय कॉमा तो आप मल्टीपल इंट वेरिएबल को इनिला कर सकते हो यहां पर सिमिलरली यहां पर भी आप मल्टीपल चीजें लिख सकते हो ऐसे करके कि एंड लगाया आपने यहां पे कुछ और लिख दिया राइट कि कोई और कंडीशन भी चेक होनी चाहिए बिकॉज एंड जो है वो अगेन आपको कंडीशन में ट्रू या फाल्स लाके देता है सिमिलरली यहां पर भी आप चाहो तो मल्टीपल चीजें कर सकते हो जैसे कि सम प्लस प्लस कर दिया आपने राइट यहां पर जरूरी नहीं है प्लस प्लस ही कर यहां पर मल्टीपल चीजें करते हैं मैं आपको बताऊंगा अभी लेकिन हां यहां पर आप कॉमा लगा के कुछ भी कर सकते हो इस तरीके से तो ये कॉमा वाली चीज समझ में आ गई होगी आपको राइट अब जरा नॉर्मल अपने कोड में आते हैं हमारा सम जीरो था हमने स्टार्ट किया वन से लेकर हम एंड तक जा रहे हैं सम इ सम प् आ और फाइनली हमारा सम आ रहा है जरा चला के देखते हैं मैं अगेन यहां पर आई की वैल्यू एंटर नंबर मांग रहा है मैं यहां पर लगाता हूं फ तो सम इज 15 आ रहा है अब भया ये 15 कैसे आया जरा ये समझा दो हमें ये समझ नहीं आया ठीक है तो डोंट वरी जरा समझते हैं कैसे ये 15 आया तो हो क्या रहा है यहां पर कि आपका सम था शुरुआत में जीरो राइट सम की वैल्यू थी शुरुआत में जीरो आपका आ था शुरुआत में वन वन आपका ऐड हुआ सम के अंदर वि वास जीरो तो सम के अंदर जब वन ऐड हुआ तो सम की वैल्यू क्या हो जाएगी 0 प्व क्या हो जाएगी वन तो सम की वैल्यू हो गई वन पहली इटरेशन के बाद इसे हम कहते हैं इटरेशन आप मल्टीपल लूप के अंदर इटरेशन करते हो बारबार घूम रहे हो तो पहली इटरेशन के बाद सम की वैल्यू हो गई है वन ये जो वर्ड्स है जो चीजें है एजीक्यू क् इटरेशन ये सब चीजें धीरे-धीरे करके समझ में आती है ठीक है एकदम से नहीं बताऊंगा आपको वरना जर्गन लगी काफी सारी चीजें लेकिन हां इसे हम कहते हैं इटरेशन आप एक एक करके इटरेट कर रहे हो उसके बाद अगले लूप में अगली इटरेशन के अंदर बेसिकली आपके आ की वैल्यू हो चुकी है टू राइट आ की वैल्यू आपने आ प्स प्स कर दिया तो आ की वैल्यू अब टू हो चुकी है तो अब आपके सम के अंदर क्या ऐड हो रहा है जो भी पहले था चच वास वन प्लसटू तो सम की वैल्यू पहले थी वन और अब इसमें टू ऐड हो गया तो 1 प् 2 च इज 3 तो अब सम के अंदर आ गया है थ्र और हमारा i की वैल्यू कितनी हो चुकी है i की वैल्यू हो चुकी है अब हमारी थ्री राइट पहले i की वैल्यू वन थी अब i की वैल्यू टू फिर अगली इटरेशन में आ की वैल्यू थ्री हो जाएगी उसके बाद i की वैल्यू फोर हो जाएगी उसके बाद i की वैल्यू फव हो जाएगी क जैसे ही सिक्स होती है वैसे हम लूप से बाहर निकल जाएंगे राइट लेकिन तब तक क्या होगा तब तक ये थ्री के अंदर थ्री ऐड होगा अब यहां पर 3 + 3 और ये हो जाएगा आपका सिक्स फिर आपका सिक्स के अंदर फोर ऐड होगा और ये हो जाएगा आपका 10 फिर 10 के अंदर फाइव ऐड होगा और ये हो जाएगा आपका 15 और जैसे आ की वैल्यू सिक्स होती है वैसे आप इस लूप से बाहर निकल जाते हो और आपके सम के अंदर फाइनली वैल्यू क्या बचती है सम के अंदर फाइनल वैल्यू आपके बचती है 15 इसलिए यहां पर आपका सम 15 प्रिंट हो रहा है ठीक है इसलिए यहां पर सम की वैल्यू आपकी 15 हो चुकी है आई थिंक समझ में आ रही होगी ये वाली बात ठीक है तो इस तरीके से आप ए नेचरल नंबर्स का सम निकाल सकते हो अब मैं बोलू अगर ए नेचर नंबर्स का एवरेज निकालो तो सम का एवरेज निकालना है तो निकाल दोगे कर देंगे आपके पास सम आ चुका है सम डिवाइड बाय ए करोगे तो एवरेज भी आ जाएगा राइट अब मैं आपको क्वेश्चन देता हूं कि सम ऑफ n इवन नंबर्स ठीक है इवन नंबर ठीक है मतलब कि 2 4 6 8 यहां ऐसे करके सम निकालना है आपको तो निकाल दोगे ये भी आराम से कर सकते हैं हम कैसे करेंगे जरा समझाता हूं मैं बोलता हूं कि n शुरुआत के n इवन नंबर्स का सम निकालो तो कैसे करोगे तो यही वाला जो कोड है ना इसी कोड को थोड़ा मॉडिफाई करना है हमें अब हमें निकालना है सम जब मैं आ की वैल्यू सपोज n की वैल्यू सपोज कर मैं कर देता हूं फ ठीक है जब मैंने n की वैल्यू कर दी 5 n = 5 है तो हमें ऐड करना है 2 + 4 + 6 प् 8 प् 10 यह पांच नंबर्स शुरुआत के पांच इवन नंबर्स इनका मुझे सम निकालना है जरा देखते हैं कैसे हम निकालने वाले हैं तो बेसिकली अब हम इसके अंदर ऐड क्या कर रहे होंगे सम के अंदर हम ऐड कर रहे होंगे आ ऐड नहीं कर रहे होंगे पहले हम 1 2 3 4 5 ऐड कर रहे थे लेकिन अब हम क्या ऐड करेंगे 2 मल्ला बा 1 2 3 4 5 राइट क्योंकि 2 मल्प बाव होता है 2 2 म बाटू होता 4 2 म बा 3 होता है 6 तो इस तरीके से पहले हम आ ऐड कर रहे थे राइट पहले हम 1 प् 2 प् 3 + 4 + 5 कर रहे थे अब हम इन नंबर्स को जो i की वैल्यू थी उसको मल्टीप्लाई बाय टू करके ऐड करेंगे तो 1 मला बा 2 = 2 2 म बा 2 इज 4 3 म बा 2 इज 6 एंड सो ऑन तो ये जब ऐड होगा तो आपका फाइनली इवन नंबर्स का सम भी आपको मिल जाएगा ठीक है जरा देखते हैं कैसे काम करेगा ये तो मैं यहां पे i ऐड नहीं करूंगा सीधे मैं ऐड करूंगा इसके अंदर 2 मल्ला बा i ठीक है 2 म बा i तो दिस विल मेक श्यर कि हम इवन नंबर्स का सम निकाल रहे हैं जरा रन करते हैं शुरुआत के पांच इवन नंबर्स का सम बता दो तो वह आ रहा आपका 30 आएगा भी 30 इन सबको ऐड करके देखोगे तो आप देखोगे 30 आ रहा है अगर मैं बोलता हूं कि 3 का मल्टीपल के सम निकालो तो आप यहां पर मल्टीप्लाई बा 3 कर दोगे और थ के मल्टीपल का सम निकल के आएंगे अब ठीक है तो इस तरीके से एक बहुत ही बेसिक कोड था एक चीज और यहां पर हम थोड़ी सी मॉडिफिकेशन कर सकते हैं आपको याद होगा मैंने असाइनमेंट ऑपरेटर बताए थे आपको जैसे मैंने लिखा था कि सम इक्वल टू सम प्लस जो लिखा है इसको हम इस तरीके से चेंज कर सकते हैं मैं कमांड डी करूंगा ऊपर वाले को कर दूंगा कमेंट और इसको हम ऐसे भी लिख सकते हैं प्लस इ यह भी सिमिलर टू दिस ही है यह लाइन लिखो या ये लाइन लिखो यह बात बराबर हैय हमने आप पिछली क्लास में देखा था असाइनमेंट ऑपरेटर्स के अंदर ठीक है तो दिस वाज ऑल अबाउट फॉर लूप्स फॉर लूप्स के अंदर आपको कुछ असाइनमेंट क्वेश्चन मिले होंगे कुछ एमसीक्यू मिलेंगे जो कि आपको जाके सॉल्व करने हैं जिनसे आपकी फॉर लूप्स की और ज्यादा फाउंडेशन स्ट्रांग हो जाएगी ठीक है इसके बाद हम और लूप्स देखते हैं चच इज वाइड लूप वाइड लूप के अंदर भी फॉर लूप आएगा और फॉर लूप खत्म नहीं हुआ है फॉर लूप हम बहुत ज्यादा यूज करेंगे आगे हम एरस पढ़ेंगे 2d अरेज पढ़ेंगे वहां भी फॉर लूप यूज करेंगे क्वेश्च सॉल्व करे हम दुनिया भर के वहां भी हमारे लूप्स आने वाले हैं तो लूप्स तो एकदम बेसिक कांसेप्ट होता है जो कि धीरे-धीरे करके आपका सॉलिड हो ही जाता है तो वाइड लूप क्या होते हैं वाइल लूप भी बेसिकली लूप की तरह होते है मतलब जहां पे आप फॉर लूप यूज कर रहे हो वहां पे आप वाइल लूप यूज़ कर सकते हो जहां पे आप वाइड लूप यूज करो हो वहां पे आप फॉर लूप यूज़ कर सकते हो इंटरचेंजेबली यू कैन यूज दीज लूप्स लेकिन एक स्पेसिफिक यूज केस होता है जहां पर आप वाइल लूप यूज कर रहे होते हो वो क्या होता है भैया वो बेसिकली यह होता है कि वाइल लूप्स के अंदर आपको नहीं पता होता शुरुआत में कि कितनी बार आपको लूप चलाना है ठीक है ज आपको शुरुआत में नहीं पता हो कि कितनी कितनी बार लूप चलाना है लेकिन आपको एक कंडीशन पता है बस कि मुझे लूप से बाहर कब निकलना है ठीक है फॉर एग्जांपल आपको नहीं पता कि आपको कितनी बार स्कूल जाना है लेकिन आपको ये पता है कि मुझे मुझे तब तक स्कूल जाना है त जब तक कि मेरा एक कांसेप्ट क्लियर ना हो जाए आपको नहीं पता कितने दिन लगेंगे उसके अंदर तो आप स्कूल जाते रहोगे जाते रहोगे जाते रहोगे जब तक कि आपका कांसेप्ट क्लियर ना हो जाए तो वहां पे आप लगाओगे वायल लूप लेकिन अगर आपका लूप ऐसा है कि नहीं मुझे पांच दिन स्कूल जाना है तो वहां पे आप फॉर लूप लगा सकते हो क्योंकि फॉर लूप के अंदर आप इजली 1 2 3 4 5 ये सब कर सकते हो ठीक है ये बात समझ में आ रही है तो वहां वाइ लूप तब लगाना होता है जब हमें शुरुआत में नहीं पता होता कब बाहर निकलना है कितनी बार चलाना है ट्रेशन कितनी होंगी लेकिन आपको एक कंडीशन पता होती है कि लूप से बाहर कब निकलना है तो यहां पर आप देख रहे हो सिंपल एक टेस्ट कंडीशन होती है ये टेस्ट कंडीशन आपको बताएगी आपको लूप से बाहर कब निकलना है य अगर ये फाल्स हो गई तो आप लूप से बाहर निकल जाओगे अगर ये ट्रू है तो आप लूप के अंदर ही घूमते रहोगे तो ये एकदम बेसिक टाइप का लूप है आपका एकदम बेसिक टाइप का लूप है यहां पर कुछ लोग बोल सकते हैं कि भैया इसके अंदर क्या सिर्फ बॉडी और टेस्ट कंडीशन होती है बाकी सारी चीज नहीं हो सकती मतलब इनिश एक्सप्रेशन और इसके अलावा अपडेट एक्सप्रेशन ये सब नहीं होता ये सब देखो यार फॉर लूप के अंदर तो हमने देखा है सब कुछ होता है राइट फॉर लूप के अंदर ये चारों चीजें होती है लेकिन वाइड लूप के अंदर हमारे पास सिर्फ एक टेस्ट कंडीशन होती है और एक वाइल लूप की बॉडी होती है इसके अलावा जो दो चीजें होती है वो भी आपको लिखनी होती है लेकिन वो वाइल लूप के अंदर नहीं लिखते आप या तो वाइल लूप की बॉडी के अंदर लिखते हो या फिर वाइल लूप की बॉडी से बाहर लिखते हो ठीक है वो भी हम देखेंगे कि कैसे आप लोग इनिश इज तो आप यहां कर रहे होते हो ठीक है बाहर वाइल लूप की बॉडी से बाहर और वाइ लूप की बॉडी के अंदर आप लोग अपडेट कर रहे हो होते हो अगर आपसे कुछ आपको कुछ मीनिंगफुल काम कराना है वाइल लूप से लेकिन वाइल लूप सिर्फ ख्याल किसका रखता है टेस्ट कंडीशन का वो कहता है कि भाई देखो ये टेस्ट कंडीशन जब तक टू है तब तक आप इसको चलाते रहो बेसिकली वही जो मैंने आपको एग्जांपल दिया था कि जब तक मैं सीख नहीं आता वाइल आई हैव नॉट लर्न दिस कांसेप्ट आई विल कीप गोइंग टू स्कूल ठीक है गो टू स्कूल नॉट अंडरस्टूड कांसेप्ट ठीक है तो हिंदी इंग्लिश के अंदर आप ऐसे समझ सकते हो कि जब तक मैं सीख नहीं जाता तब तक मैं स्कूल जाऊंगा अब ये जब तक नहीं सीख जाता ये कैसे निकालते हैं तो ये बेसिकली भैया आप कैसे बोल रहे हो ये कि इस तरीके से बनती है ये चीजें तो यार आप ना कई बार जैसे लिंक लिस्ट होती है लाइट लिंक लिस्ट के अंदर आपको ट्रैवर्स करना होता है आपको नहीं पता होता कई बार कि जो लिंग लिस्ट है इसके अंदर कितनी नोट्स होंगी राइट ये लिंग लिस्ट कहां खत्म होगी शुरुआत में नहीं पता होता तो आप वाइल लूप में डाल देते हो कि वाइल अ टैप इज नॉट इक्वल टू नल तब तक लूप चलाना है बेसिकली ठीक है आपको शुरुआत में नहीं पता होता तो वहां पर वाइल लूप यूज हो रहा है जब आपको नहीं पता कि इस लूप के अंदर मुझे कितनी बार चलना है मुझे पहले से नहीं पता इस इंगश में कितनी नोट्स हैं या फिर आपके पास एक बाइनरी ट्रे आ गया राइट ये सब चीजें अगर समझ में नहीं आ रही तो डोंट वरी आपको ये सब चीजें समझ में आएंगी धीरे-धीरे करके लेकिन मैं आपको बता रहा हूं अगर आपको पहले से पता है इन सबके बारे में कि लिंक लिस्ट या फिर बाइनरी ट्रीप इसके अंदर आपको ट्रैवर्सल करना होता है आपको नहीं पता शुरुआत में कितनी नोट्स रहने वाली है आपको बस रूट नोड का एक्सेस पता होता है आपको ट्रैवर्स करना है तो आप वहां पे भी वाइड लूप लगाते हो बजाय फॉर लूप के बिकॉज़ आपको नहीं पता कि कितनी नोट्स इसके अंदर रहने वाली है तो जब तक नल नहीं होता तब तक आप लोग इसके अंदर लूप चला के रखते हो तो इस टाइप की जगहो आपका वाइड लूप लग रहा होता है आई थिंक अब चीजें थोड़ी और क्लियर हो रही होंगी ठीक है जरा समझते हैं वाइड लूप कैसे काम करता है तो ये आपका बेसिक सिंपल फॉर लूप था आपने देख लिया होगा मल्टीपल एग्जांपल के साथ अब हम जरा मूव करते हैं अगले लूप की तरफ वाइल लूप की तरफ तो उसके लिए मैं यहां पर आऊंगा और इसके अंदर मैं एक नई फाइल बना लूंगा च इज कॉल्ड वाइल्ड लूप्स और अगेन इसके अंदर हम बनाएंगे अपना पब्लिक स्टैटिक वॉइड मेन ठीक है ये तो हमें बनाना ही है क्योंकि हमारा कोड यहां से चलना स्टार्ट होता है ठीक है तो जरा समझते हैं वाइल लूप कैसे काम करता है तो सपोज करो आपको अगेन वही जो मैंने कहा था फॉर लूप ज वाइड लूप यूज हो सकता है जहां पर सपोज करो पांच बार आपको काउंटिंग लिखनी है ठीक है इंट आ इ 0 वाइल आ इज लेस देन 5 आप प्रिंट करते चलो आ सिंपल यहां पर अभी आप देख रहे हो एक वार्निंग आ रही है क्योंकि आपका ये जो लूप है हमेशा ट्रू देगा और ये लूप पूरे टाइम चलता रहेगा यहां पर लिखा हुआ है कंडीशन i < 5 इज ऑलवेज ट्रू तो यहां पे क्या होगा ना यहां पर एक दिक्कत होने वाली है अगर मैं इसको अभी चला दूंगा आप देखोगे कि ये हमारा कोड इंफाइटिंग लूप में फंस रहे हो ठीक है ये बहुत बेकार प्रैक्टिस होती है यू शुड ऑलवेज अवॉइड द इंफाइटिंग लूप में जा रहे हैं क्यों क्योंकि ये कंडीशन हमेशा ट्रू है i ़ है i की वैल्यू ज़ीरो इज लेस दन फाइव दिस विल ऑलवेज बी ट्रू तो आप चाहते हो कि इस बॉडी के अंदर आप कहीं पे अपडेट करो इस वेरिएबल को ठीक है तो आप वाइ लूप की बॉडी के अंदर अपडेट कर रहे होते इस बार ठीक है तो मैं सपोज करो यहां पे अपडेट करता हूं i+ प तो वो जो वार्निंग थी अब वो यहां से जा चुकी है ठीक है अब मैं कह रहा हूं कि मेरा आई जो है वो हर बॉडी के अंदर ही इंक्रीमेंट होता रहेगा जरा चला के देखते हैं इसको तो आप देखोगे अब ये इनफिट लूप में नहीं गया अब ये जीरो से लेकर फोर तक इसने प्रिंट किया अब ये कैसे हो गया भैया जरा आप ये भी बता दो इतना सारा बता दिया तो भाई मैं बोलूंगा सिंपल है यार अब अब क्या हुआ है i की वैल्यू शुरुआत में है जीरो और ये कंडीशन आपकी है शुरुआत में ट्रू क्योंकि रो इज लेस दन फ तो आपने यहां पर जीरो प्रिंट कर दिया जीरो प्रिंट करने के बाद अगली लाइन में आपने i की वैल्यू को इंक्रीमेंट कर दिया तो जो पहले i की वैल्यू थी रो अब आपके i की वैल्यू हो चुकी है वन आपकी आ की वैल्यू वन हो गई तो 1 लेसन 5 है हां अगेन ये कंडीशन ट्रू है ठीक है अगेन कंडीशन ट्रू है तो आप लूप में गए और आपने वन प्रिंट कर दिया इस बार बिकॉज़ i की वैल्यू अब वन हो चुकी है अब आपने अगेन i को इंक्रीमेंट कर दिया अब i की वैल्यू हो जाएगी वन से टू क्या 2 लेसन 5 है हां ये कंडीशन भी ट्रू है तो आप देखो इस बार आप इनफिट लूप में नहीं जाओगे क्योंकि आपने एक चेक लगा रखा है i ले 5 का तो अगेन फिर यहां पे i इंक्रीमेंट होगा ये हो जाएगी थ्र आपने थ्री प्रिंट किया उसके बाद अगले लूप में उसके बाद आपने इंक्रीमेंट किया थ्री से फोर क्या 4 लेस दन 5 है हां 4 लेसन 5 है तो आपने फोर भी प्रिंट कर दिया यहां पे राइट लूप में आ गए आप उसके बाद आपने i की वैल्यू को दोबारा इंक्रीमेंट कर दिया फोर से आपने इंक्रीमेंट करके कर दिया इसे फाइव अब देखो 5 इज लेसन 5 क्या ये कंडीशन ट्रू है आपको पता है ये कंडीशन ट्रू नहीं है ये कंडीशन तो फॉल्स हो जाएगी तो जैसे ही वाइ लूप के अंदर की कंडीशन फॉल्स होती है आप इस लूप से बाहर निकल जाओगे ठीक है वैसे ही आप जंप मार के यहां आ जाओ होगे अगली स्टेटमेंट में ठीक है बॉडी एग्जीक्यूट नहीं होगी तो इसीलिए आपका वाइड लूप जो है वो सिर्फ चार बार चला आपका i तो पांच हो गया यहां पे ठीक है हमें पता है अब आप यहां पे बाहर निकल गया i की वैल्यू प्रिंट करागे तो i की वैल्यू तो पांच हो जाएगी सही बात है लेकिन आपका लूप जो है वो सिर्फ चार बार चला है यहां पे ठीक है समझ में आ रही है ये चीज यहां पर आपके i की वैल्यू फाइव हो चुकी है और ये जो i है यह चीज एक और समझने वाली बात यह है कि आपका ये जो i है ये इस स्कोप से बाहर है वाइल लूप के स्कोप से बाहर है इसका मतलब आ क अगर आप नीचे भी प्रिंट कराओ ग तो यहां भी प्रिंट हो जाएगा लूप के अंदर प्रिंट कराओ ग वहां भी प्रिंट हो जाएगा लूप के बाहर भी प्रिंट हो जाएगा ठीक है i की वैल्यू ऑफ फाइव हो चुकी है लेकिन फ इज लेसन फ ये चीज फॉल्स हो गई इसलिए आप लूप से बाहर निकल गए एटलीस्ट ठीक है तो वाइल लूप इस तरीके से काम करता है आप बो भैया आपने तो यहां पर पहले से ही पता था पांच बार लूप चलना है लेकिन आप वो क्या कहानी सुनाते हुए हमें फिर कि जब आपको पहले से नहीं पता होता तभी ये लूप चलाना होता है तो मैं बोलूंगा सुनो यार अभी हम बहुत ही बेसिक चीज कर रहे हैं ठीक है एकदम बेसिक कांसेप्ट पढ़ाया हमने तो इसीलिए यहां पर हमें समझ में नहीं आ रहा है वो चीज लेकिन एक एग्जांपल से मैं आपको तब भी यहां पर डिप कर सकता हूं इसको देखते हैं वो कैसे सपोज करो मैं आपको बोलता हूं कि जब तक जो मैंने आपको यहां पर समझाया था ना कि जब तक आपको समझ में ना आ जाए तब तक आपको स्कूल जाना है तो वो वाला अगर आपको कांसेप्ट यहां पर रिपीट करना है तो वो कैसे करोगे तो उसके लिए मैं आपसे बारबार पूछूंगा कि क्या आपको कांसेप्ट समझ में आया क्या तो मैं क्या करूंगा स्कैनर ए इ न्यू स्कैनर और यहां पर सिस्टम डट इन तो मैं आपसे पूछूंगा यहां पर बोलियन हैज लर्न और शुरुआत में मैं मान के चलता हूं कि आपको चीज नहीं आती है ठीक है जो आप लर्न करने जा रहे हो तो यहां पर हैज लर्न की वैल्यू फॉल्स है उसके बाद मैं यहां पर चेक करूंगा कि जब तक सीख नहीं लिया जब तक हैज नॉट लर्न ठीक है तो यहां पर मैंने एक नेगेट लगाया है ठीक है ये नेगेटिव साइन है हमने पढ़ा था ये ये भी ऑपरेटर होता है आपका हमने लॉजिकल ऑपरेटर पढ़े थे एंड एंड और सिमिलरली यह नॉट ऑपरेटर है यह बेसिकली जो भी वैल्यू मिलती है उसका रिवर्स कर देता है हमने देखा था अगर फाल्स मिलेगा तो ट्रू कर देगा ट्रू मिलेगा तो फाल्स करेगा तो जब तक सी नहीं लिया है तब तक आपको स्कूल में जाना है ठीक है तो यहां पर लिखेंगे वेंट टू स्कूल ट्रा टू लर्न आपने सीखने का ट्राई किया अब मैं आपसे पूछूंगा हैज लर्न इक्व ट एड नेक्स्ट बुलियन कि क्या भाई आप सीख गए अगर आपने यहां पर भी बोला कि नहीं सीखा तो आप अगेन स्कूल जाओगे और अगेन सीखने का ट्राई करोगे ठीक है मैं बार-बार आपसे पूछूंगा कि क्या आप सीखे यहां पर मैं एक काम करता हूं लिख ही लेता हूं एस आउट हैव यू अंडरस्टूड तो जरा इसे चला के देखते हैं देखते कैसे काम करेगा यह तो अब आपको समझ में आएगा रियल पावर की कैसे आपको शुरुआत में नहीं पता कि कितनी बार स्कूल जाना है तब आप वहां पर वाइल लूप लगा पा रहे हो तो देखो वेंट टू स्कूल ट्राई टू लर्न क्या आप सीख गए मैं बोलूंगा नहीं फाल्स मैं नहीं सीख पाया अगेन आप स्कूल जाओगे फिर वेंट टू स्कूल ट्रा टू लर्न क्या सीख गए मैं बोला नहीं अभी भी नहीं सीख पाया मुझे दोबारा स्कूल जाना पड़ेगा ट टू स्कूल ट्राई टू लर्न सीख गए नहीं अभी भीन सीखा वंट टू स्कूल ट्राई टू लर्न हां अब सीख गया तो यहां पर मैं ट्रू मार्क कर दूंगा और अब मैं लूप से बाहर आ चुका हूं और अब मेरा यह काम खत्म हो चुका है तो इस तरीके की चीजें जहां पर आपको पहले से नहीं पता होता कि कितनी बार लूप चलना है वहां प आप वाइड लूप लगाते हो और वाइड लूप के अंदर कुछ नहीं सिर्फ कंडीशन का ख्याल रखना होता है आपको यह कंडीशन का ख्याल रखना होता है बस यह कंडीशन जब तक ट्रू है तब तक आप वा लूप में रहोगे इसके अलावा जो भी आपको करना है इनिला करना है या फिर अपडेट्स करने हैं वो सब आप बाहर कर रहे होते हो ठीक है तो दिस वाज ऑल अबाउट योर वाइड लूप वाइड लूप के अंदर और चीजें हम धीरे-धीरे करके सीख रहे होंगे इवन अभी हम जब नेस्टेड लूप्स की बात करेंगे तो उसके अंदर भी वाइड लूप्स को लेके आ रहा हूंगा लेकिन उससे पहले एक और कांसेप्ट समझ लेते हैं व्हिच इज डू वाइल लूप कि डू वाइल लूप क्या होता है तो सिमिलर टू वाइल लूप डू वाइ लूप के अंदर भी बस यही होता है टेस्ट कंडीशन और डवा लूप की बॉडी बस यही दो चीजें होती है जरा पेन चेंज कर लेते हैं यहां पे बहुत देर हो गई एकही पेन में तो इसके अंदर टेस्ट कंडीशन होती है और डवा लूप की बॉडी होती है इसके अलावा और कुछ नहीं होता है तो भैया फिर यह लूप और यह लूप में डिफरेंस क्या है तो डिफरेंस आपको दिख रहा होगा पहले से यहां पर डिफरेंस समझ में आ रहा है डिफरेंस यह है कि यहां पर चेकिंग पहले हो रही है और लूप की बॉडी में आप बाद में जा रहे हो लेकिन ड वाय लूप की बॉडी के अंदर आप पहले जाते हो चेकिंग बाद में होती है इट इज लाइक सेइंग कि स्कूल तो मैं हमेशा जाके ही रहूंगा चाहे मुझे आता हो पहले से या ना आता हू उसके बाद चेक करेंगे कि मुझे आता है कि नहीं आता उसके बाद हम देखेंगे कि मुझे दोबारा स्कूल जाना है कि नहीं जाना मतलब एक बार स्कूल तो जाऊंगा वन टाइम वन टाइम तो जाना ही है वन टाइम तो लूप की बॉडी को एग्जीक्यूट करना ही है जब आपको ये दिखता है कि एक बार तो एग्जीक्यूट करना ही करना है लूप की बॉडी को तो आप वहां पर डू वा लूप यूज करते हो बेसिकली इसमें होता क्या है कि आप पहले स्कूल चले जाओगे या फिर आप पहले इस बॉडी के अंदर चले जाओगे उसके बाद यहां पर हम चेक करेंगे यहां पर हमारी कंडीशन जो हमने ये लिखा है ना यहां पर हम कंडीशन चेक करेंगे अगर यह कंडीशन ट्रू है तो आप दूसरी बार भी जा सकते हो लेकिन एक बार तो आपको जाना निश्चित है उसका चेक करके अगर यह ट्रू निकला तो आप दोबारा जाओगे लेकिन अगर ये फाल्स निकला तो आपका लूप यहां पर टर्मिनेट हो जाएगा इस तरीके से तो लीस्ट एक बार एटलीस्ट एक बार जब आपको लूप चलानी है तब आप वहा पर डवा लूप यूज करते हो बस इतना ही डिफरेंस है और कुछ डिफरेंस नहीं है इसको जरा मैं चला के दिखाता हूं तो सपोज करो मैंने य पर लिखा हुआ है इस तरीके से कि इट आ इट 0 और सिंपल लूप लिखता पहले वाइल ठीक है इल आ ले इ 5 एस आउट य पर मैं लिख देता हूं आ और य पर आ प् प्लस ठीक है यह पहले वाला हमारा कोड है ऊपर वाले कोड को मैं यहां पर फिलहाल कमेंट कर देता हूं यह हमारा पिछला वाला कोड है अब इस वाले कोड के अंदर आपको पता है हमारी पहले कंडीशन चेक होगी अगर कंडीशन ट्रू हुई तभी हम लूप की बॉडी में जाएंगे सपोज करो कंडीशन मेरी ये है i इ ले इ -1 या फिर एक काम करते हैं i को मैं शुरुआत में इनिला कर देता हूं 8 से अब मुझे पता है i की वैल्यू 8 है 8 इज ले इ 5 ये कंडीशन तो हो गई फॉल्स ये कंडीशन फॉल्स हो गई तो आप लू में नहीं गए और यहां पर आप लूप के बाहर आ गए एस आउट आउट ऑफ द लूप आप लूप के बाहर आ चुके हो ठीक है कंडीशन आपकी फॉल्स हो गई सीधा आप लूप से बाहर आ गए आप लूप के अंदर कभी भी गए ही नहीं इसको चला के देखते हैं एक बार तो आप देखोगे सीधा आउट ऑफ लूप आ गए आप ठीक है आउट ऑफ द लूप आ गए लेकिन वहीं पर अगर आप इसे डू बाय लूप की तरह बनाते डू वाय लूप के अंदर कैसा सिंटेक्स होता है तो डू बाय लूप थोड़ा सा अलग होता है सिंटेक्स के अंदर ज समझते हैं तो मैं इसको यहां पर कमेंट करता हूं ये तो आपका वाइल लूप था आपको दिखा होगा वाइल लूप के अंदर आप सीधा बाहर आ गए द लूप बिना कुछ प्रिंट किए डू वा लूप कैसे काम करता है भैया तो डू वा लूप के अंदर आप पहले डू करते हो ठीक है डू लिखा आपने उसके बाद कर्ली ब्रेसस के अंदर आप यहां पर वो ब्लॉक लिखोगे जो आप रन करना चाहते हो तो ब्लॉक तो मैं बस यही रन करना चाहता हूं ठीक है जो मैंने यहां पर लिखा है तो मैं ये सेम चीज यहां लिख रहा हूं आई हमने बना लिया है ऊपर पहले से ही तो सिस्टम प्रिंट आ आ प्लस प्लस उसके बाद आप लिखते हो वाइल ठीक है यहां पर थोड़ा सा अलग कांसेप्ट जा रहा है य आपने पहले लिखा डू फिर जब आपका डू का ब्लॉक खत्म हो गया उसके बाद आपने लिखा यहां पर वाइल और वाइल में आप लिखोगे वाइल i इज लेस देन इक्व 5 ठीक है पहले वाला रिपीट कर दिया दिस इज योर डुअल लूप इसके बाद यहां पर आपको एक सेमीकलन लगाना है बिकॉज ये आपकी एक स्टेटमेंट बन जाती है तो दिस इज ऑल अबाउट योर डू वाय लूप जरा समझते हैं इसके अंदर आप जरा चलाएंगे तो क्या काम करेगा ये तो जैसा मैंने बताया एक बार तो चलेगा ही चलेगा ये आपको पता है i8 है और कंडीशन लिखा हुआ है कि 8 इज लेस दन फ तो ये कंडीशन फाल्स है तो मतलब लूप नहीं चलना चाहिए लेकिन मैंने बताया डू वा लूप एक बार तो चले गई तो आपका एक बार तो एट प्रिंट हुआ ही हुआ ठीक है आपको दिख रहा है एट प्रिंट हुआ एक बार उसके बाद आपने कंडीशन चेक की क्या ये कंडीशन फॉल्स है हां ये कंडीशन फॉल्स है तो आप बाहर निकल गए और आप आउट ऑफ द लूप आ गए लेकिन एक बार तो आप लूप की बॉडी में गए ही गए तो जब आपको ऐसा कुछ करना होता है ना वहां पर आप ये डवा लूप चला रहे होते हो आप बोलो भया इसकी रिक्वायरमेंट क्या होती है तो बहुत जगहों पे इसकी रिक्वायरमेंट होती है ठीक है रियल वर्ल्ड के अंदर इसकी रिक्वायरमेंट होती ही होती है कि आपको एक पीस ऑफ कोड रन करना ही करना है बजाय इसके ट्रू है कि नहीं है आपको मे बी इनिश इज करना हो कुछ चीजों को उसके अंदर लूप के अंदर ठीक है या फिर आपको एक बार तो लूप के अंदर जाना ही जाना है एक तो डेटा आपको दिखाना ही दिखाना है एक पोस्ट तो आपको दिखानी ही दिखानी है कभी कोई कुछ चीज बना रहे हो आप मे भी ठीक है अ एक बार तो चलाना ही चलाना है उसके बाद अगर कंडीशन फॉल्स है तो लूप से बाहर निकल जाएंगे लेकिन एटलीस्ट एक बार तो जाना ही जाना है तब वहां पे आप डू वायल लूप में जाते हो कि आप डू वायल लूप के अंदर इस बॉडी को एक बार तो रन करोगे ही करोगे उसके बाद अगर कंडीशन फाल्स है तो आप बाहर निकल ग कंडीशन ट्रू है तो आप इस बॉडी में चलते रहोगे तो सपोज करो अगर आपकी कंडीशन टू हो जाती है यहां पे i की वैल्यू लेट्स से यहां पर मैं कर देता हूं वन तो यहां पर आप देखोगे वन से लेकर फाइ तक प्रिंट हुआ ये ठीक है फाइव तक प्रिंट हुआ फिर जैसे आ की वैल्यू सिक्स हो गई तो आपकी कंडीशन हो गई फॉल्स तो आप लूप से बाहर निकल गए तो इस केस में तो यह चाहे तो डू डू वाइल लूप लगाओ चाहे वाइल लूप लगाओ दोनों एक जैसे ही काम कर रहे हैं राइट इस जगह तो दोनों के दोनों सेम तरीके से काम कर रहे हैं लेकिन शुरुआत में ही अगर कंडीशन फॉल्स हो जाती है तो वहां पर आपको डिफरेंस दिखता है इसका शुरुआत में अगर कंडीशन फॉल्स हो गई जैसे मैंने वापस एट कर दिया तो शुरुआत में कंडीशन फॉल्स हो गई तो जहां पर वाइल लूप बॉडी में ही नहीं जाता डू वाइल लूप स्टिल बॉडी में जा रहा है एक बार कांसेप्ट क्लियर है अगर अभी भी क्लियर नहीं है तो ये सब चीजें आप पूछो हमसे ठीक है लेकिन अभी हम आगे बढ़ते हैं और जरा कुछ और स्टेटमेंट्स की बात करते हैं विच आर ब्रेक स्टेटमेंट इन जावा इसके बाद कंटिन्यू स्टेटमेंट देखनी है पहले हम बात करते हैं ब्रेक की तो बेसिकली कई बार आपका जो लूप चल रहा है उस लूप में आपको कई बार बाहर निकलना होता है आप बोलते हो बहुत हो गया इस लूप के अंदर अब मुझे बाहर निकलना है तो जब वो कंडीशन हो जाए आपको जब बाहर निकलने का मन करे उस टाइम पर आप बाहर निकल पाओ तो उसके लिए आप लगाते हो ब्रेक को ब्रेक बेसिकली आपका किसी ब्लॉक से बाहर निकलने के काम में आता आपने देखा था इसको ऑलरेडी स्विच के अंदर ठीक है हमने स्विच पढ़ा था लास्ट क्लास में स्विच हमने देखा हुआ ऑलरेडी स्विच के अंदर आप ब्रेक लगाते हो टू गेट आउट ऑफ दैट स्विच ब्लॉक सिमिलर टू दैट वाइल लूप से आपको बाहर निकलना है या फिर डू वा लूप से आपको बाहर निकलना है या फिर फॉर लूप से आपको बाहर निकलना बेसिकली किसी भी लूप से अगर आपको बाहर निकलना है यू यूज अ दिस ब्रेक इस तरीके से आप बाहर निकालते हो लूप से ठीक है तो जरा समझते हैं कैसे काम करते हैं और क्यों इसकी रिक्वायरमेंट है क्यों इतना जरूरी हो जाता है यह तो उसके लिए हम आते हैं यहां पे और एक नई क्लास बना लेते हैं और इसका नाम रख लेते हैं हम ब्रेक एंड कंटिन्यू एंड अगेन इसके अंदर हम पब्लिक स्टैटिक वॉइड बनाते हैं पब्लिक स्टैटिक वॉइड मेन और सपोज करो एक सिंपल सा क्वेश्चन है कि आपको 2 4 6 8 इवन नंबर्स प्रिंट करने हैं सारे के सारे ठीक है तो मैं बोलता हूं ठीक है भाई इवन नंबर्स प्रिंट कर लेते हैं उसका फॉर लप बते सिंपल सा अच्छा इंटेलीजें में काम करही तो इंटेलिजेंट का इंटेलिजेंस यूज करो उसके लिए क्या करना है फॉर लिख के फॉर आई लिखो उसके बाद हिट करो टैब तो अपने आप ही वो लूप की बॉडी लिख के आ जाती है इसके अंदर ठीक है तो यह फायदा है इंटेलीज का तो अब यहां पे आप टैब हिट करते रहोगे तो आपको अगर वेरिएबल चेंज करना है तो यहीं का य वेरिएबल नेम चेंज कर दो वैसे मैं आई ही रखूंगा इसका नाम लेकिन आप कुछ भी रख सकते हो लेट्स से काउंट ये काउंट में अपडेट हो जाएगा तुरंत सब जगह मैं इसको वास आई कर दूंगा लेकिन बिकॉज आई लाइक आई इस तरीके से कन्वेंशन है उसके बाद आई इसके बाद हम टैब ट करेंगे अब कब तक चलाना है य लूप वाइल आ इ लेस देन इक्वल टू लेट्स से 20 लेट्स से 20 मतलब ये मेरे को लूप चलाना जब तक आ की लेसन 20 है उसके बाद आ प्लस प्लस तो यह कैसे लिखा गया भैया दोबारा बताना तो कुछ नहीं करना भाई फर के बाद आई लिखो यह सिर्फ इंटेलीज के अंदर है जल्दी से कोड लिखने के लिए फॉर आई लिखा उसके बाद टैब दबा दो तो दोबारा से सिमिलरली अगर आई वाले लू के अंदर आप आ चुके हो और नेड लूप बनाने है तो आप यहां पे अगेन एक बार 4i लिखोगे तो ये स्मार्ट है ये इस बार जे वाला लूप बनाएगा आपके लिए उसके अंदर आप लगाओगे 4 आ तो इस बार ये के वाला लूप बनाएगा आपके लिए ये सब नेस्टेड लूप समझेंगे हम कि लूप के अंदर लूप कैसे आगे भैया बट इसके बाद ओके आ लेस 20 तक चलना है हमें हम यहां पर प्रिंट करने वाले हैं i को आपको पता हैय इवन नंबर्स तो प्रिंट नहीं करेगा आपको पता है यह तो 1 2 3 करके आपका बेसिकली वन से स्टार्ट करता हूं यहां पे सपोज तो ये वन से स्टार्ट करेगा लेकिन ये इवन नंबर प्रिंट नहीं करेगा स्टार्ट विथ जीरो ओनली और यह आपके रो से लेकर 20 तक सारे नंबर प्रिंट कर देगा इसको हम यहां से चलाते हैं यहां से रन रो से लेकर 20 तक सारे नंबर प्रिंट कर दिए इसने आपको अगर इवन नंबर्स प्रिंट करने है तो उसके लिए क्या करना होगा यह जो आप इंक्रीमेंट कर रहे हो एक-एक का यहां पे आप एकएक का इंक्रीमेंट मत करो यहां पे आप i प् इ 2 पहले आप i प् इ 1 लिख रहे थे यहां पे i प् प् का मतलब है i प् = 1 लिखना अब आप दो दो का इंक्रीमेंट कर रहे हो तो अब आपको पता है यह 02 4 6 8 ये सब प्रिंट करने वाला है अगर आप यहां पर थ्री का इंक्रीमेंट करते तो आपको पता क्या होने वाला है तीन का टेबल एक तरीके से लिखा जाएगा कब तक लिखा आ रहा है 18 तक क्योंकि 18 के बाद यह हो जाता है 21 और 21 20 से बड़ा होता है तो यह वाली कंडीशन जाती है फाल्स तो आप हार निकल जाते हो समझ में आ रहा है ये सब तो जरा वापस आते हैं ईवन नंबर वाले प ही और यहां पर आपका इवन नंबर्स प्रिंट हो रहा है बहुत अच्छी बात है इफ आ इज ग्रेटर देन इक्वल्स टू लेट्स से 10 तो मैं चाहता हूं ब्रेक करना इस तरीके से मैं चाहता हूं कि जैसे आ की वैल्यू 10 से बड़ी होती है तो लूप से ब्रेक कर जाओ अब चला के देखते हैं क्या होता है तो अब आप देखोगे कि जैसे य 10 हुआ 10 तक तो ठीक है जैसे यहां पर वैल्यू इसकी 10 हुई तो ये लूप से बाहर निकल गया आप बोलोगे भैया ये 12 16 14 ये सब व प्रिंट कि इसने मैं बोलूंगा भाई लूप से ही बाहर निकल गया आप पहले यहां गए आपने आ की वैल्यू जीरो प्रिंट करी ठीक है यहां पर जीरो थी फिर आपने टू प्रिंट की तो इन सब जगहों पर यह वाली कंडीशन फाल्स है यह वाली कंडीशन फॉल्स है तो इस ब्रेक स्टेटमेंट हिट नहीं हो रही थी लेकिन जैसे ये कंडीशन ट्रू होती है कंडीशन ट्रू कब होती है जब i की वैल्यू हो जाती है 10 जैसे आ की वैल्यू 10 हुई और आपने 10 प्रिंट कर दिया तो 10 ले इक्व 10 ये कंडीशन हो जाती है ट्रू और जैसे ही कंडीशन ट्रू होती है ये ट्रू और फाल्स एक जैसा लग रहा है जैसे ही कंडीशन ट्रू होती है वैसे ही आप यहां पर ब्रेक हिट कर जाते हो और ब्रेक करने का मतलब लूप से बाहर निकल जाओ चाहे कुछ भी इटरेशन हो चाहे कितनी बार चलाना फर्क नहीं पड़ता लूप से बाहर निकल जाओ इसलिए आपने 10 के बाद 12 वगैरह प्रिंट नहीं किया आपने क्योंकि आप लूप से बाहर आ चुके हो एंड दैट्ची दोनों लाइनों को अनकमेंट करूंगा कमांड स्लैश से तो ये अनकमेंट हो जाएगा इस तरीके से और इस लाइन को भी अनकमेंट करते हैं तो ये मेरा वाइल लूप है वाई की इस की वैल्यू लेट से जीरो से लेकर फ तक चल रहा है है ठीक है मैं चाहता हूं नहीं कि इफ आई सपोज करो i जब थ हो जाए तो ब्रेक कर दो जब i की वैल्यू थ्री हो जाए तो आप ब्रेक कर जाओ तो पहले तो जब यह स्टेटमेंट नहीं लिखी हुई थी जब मैं इसे करता हूं अनकमेंट फॉर लूप वाले को मैं करता हूं यहां पे कमेंट जरा चला के देखते हैं इसको क्या होने वाला है तो अभी तो आपको पता है सिंपल रो से लेकर फाइव तक प्रिंट करेगा ये राइट रो से लेकर फव तक प्रिंट करेगा बिकॉज़ ये वाइड लूप है लेकिन मैं चाहता हूं कि जैसे ही i की वैल्यू थ हो ्र प्रिंट किया और यहां पर आ की वैल्यू सॉरी आ यहां बेसिकली कुछ और होने वाला है आ की वैल्यू जब यहां पर टू प्रिंट किया जब आ की वैल्यू थी हो जाएगी तो ये ब्रेक कर जाएगा तो यहां पर सिर्फ जीरो व और टू प्रिंट होने वाला है चला के दिखाता हूं आपको समझ में आएगा कैसे 0 व और टू ही प्रिंट हुआ भैया थ्री क्यों नहीं प्रिंट हुआ यहां पर थ भी प्रिंट होना चाहिए था थ्री के बाद ब्रेक लगता है मैं बोलूंगा नहीं यार यहां पर ना कुछ अलग हुआ है आप समझो यहां पर व क्या है और समझ में भी आएगा बहुत सिंपल है कुछ खतरनाक नहीं हुआ है हुआ क्या है बेसिकली कि i की वैल्यू रो थी रो प्रिंट हुई रो से ये हो गया वन क्या 1 3 के बराबर है नहीं तो आप यहां पे गए i की वैल्यू वन हो चुकी है अब आपने प्रिंट कर दिया वन अब i की वैल्यू आप इंक्रीमेंट करके वन से हो गया ये ू क्या 2 3 के बराबर है नहीं उसके बाद आप यहां पे गए i की वैल्यू ल शो हो चुकी है यहां पे ऑलरेडी टू तो आपने टू प्रिंट कर दिया टू के बाद i प् प्स किया तो यहां पे i की वैल्यू हो गई है थ्री i की वैल्यू थ्री हो गई है तो यहां पे आप ब्रेक कर जाओगे क्योंकि ये कंडीशन आपकी ट्रू हो गई है और आप लूप से बाहर आ गए हो तो आप बिना थ्री को प्रिंट किए बाहर आ गए क्योंकि आप सिर्फ रो व और टू ही प्रिंट कर पाए थे थ्री को प्रिंट करने से पहले यहां पर ये बीच में ब्रेक आ गया और ब्रेक आ गया तो आप वाइड लूप से बाहर निकल गए समझ में आ रहा है कन्फ्यूजिंग लग रहा है तो आपको पूछना है हमसे ठीक है बहुत सिंपल है वैसे वैलू इसके बाद आपका डू वाइल लूप के अंदर भी सेम काम करने वाला है मैं डू वाइल के अंदर आपको ब्रेक नहीं समझाने वाला कैसे काम करेगा बिकॉज अगेन सेम चीज लूप से बाहर निकलना है कोई भी कंडीशन मैट करा दो लूप से बाहर निकल जाओगे इफ कंडीशन टू ब्रेक ट्रू तो आप ब्रेक कर जाओगे इसके बाद हम देखते हैं कंटिन्यू स्टेटमेंट कंटिन्यू स्टेटमेंट क्या करने काम में आते है कंटिन्यू स्टेटमेंट काम में आती है अगर आपको करंट इटरेशन को स्किप करना है करंट इटरेशन को आपको अगर स्किप करना है तो यू यूज कंटिन्यू स्टेटमेंट बेसिकली सपोज करो आपको आपके चार दोस्त हैं क्लास के अंदर चार दोस्त है चारों को टॉफी बांटने है लेकिन आपको एक दोस्त पसंद नहीं है दोस्त नंबर टू आपको पसंद नहीं है तो आप क्या करोगे चार दोस्त है वन टू थ फोर आपने एक लूप चलाया आप टॉफी बांट रहे हो वन को बांटो हां टू आपको पसंद नहीं है तो टू को आप स्किप करना चाहते हो थ्री को बांटो ग हां फोर को बांटो ग हां तो आपका लूप भी चल गया और आपने टू को स्किप भी कर दिया तो जब कभी ऐसा पूछा आता है कि मुझे स्किप करना है टॉफी बांटना किसी एक बंदे को तो आप वहां पर कंटीन्यूअस यूज करोगे अभी इसी टॉफी वाले एग्जांपल समझ सकते हो कि ब्रेक कैसे लगाओगे कि किसी बंदे की शकल पसंद नहीं आ रही इतनी पसंद नहीं आ रही कि टॉपी बांटने का मन ही नहीं कर रहा ठीक है तो वहां पे आप ब्रेक लगा दोगे कि अगर मुझे आज ये बंदा दिख गया ना टू वाला मैं किसी को टॉफी नहीं मांट उसके बाद तो वहां पर आप ब्रेक लगाओगे बेसिकली वन और जब टू दिखा आपको तो थ्री और फोर को देनी थी आपको टॉफी लेकिन टू दिखा और आपने ब्रेक लगा दिया तो आप यहीं से बाहर निकल जाओगे कि बस हो गया आज का मेरा शकल ही देखनी इसके तो यहां पर ये होता है आपका ब्रेक और ये होता है आपका कंटिन्यू जब आपको किसी को स्किप करना है बस और अगले लोगों को टॉफी देनी है तो आप वहां पर कंटिन्यू यूज करोगे लेकिन अगर किसी इटरेशन पर आपको बाहर ही निकल ना है रूप से तो आप पर ब्रेक यूज करोगे उसके बाद थ्री और फोर को टॉफ नहीं मिलेंगे यहां यह डिफरेंस होता है दोनों के अंदर कंटिन्यू ब्रेक समझ में आ गया होगा टॉपिक एग्जांपल से और यह कंटिन्यू अगेन आप इ ब्रेक की जह से यूज कर सकते हो जैसे आप यहां पर देख रहे हो कि ये कंडीशन ट्रू हो गई तो आपने कंटिन्यू लगा दिया या फिर ये कंडीशन ट्रू है तो आपने कंटिन्यू लगा दिया ये कंडीशन ट्रू है तो आपने कंटिन्यू लगा दिया एंड सो ऑन जरा समझते हैं कैसे काम करेगा ये तो एक काम करता हूं मैं फॉर लूप वाले एग्जांपल से समझाने का ट्राई करता हूं तो नीचे वाले लूप को मैं कर दूंगा कमेंट इस बार और एक काम करते हैं इसको ना कॉपी पेस्ट कर लेते हैं यहां पर मैंने किया कॉपी इसको क्या पेस्ट और ऊपर वाली चीज को मैं कर दूंगा यहां पे कमेंट और यहां पर ले लिखते हैं गिव टॉफी टू आई मैंने आई को टॉफी दे दी उसके बाद आपको चेक करना है लेकिन टॉफी देने से पहले चेक करना है राइट तो ये वाली चीज ऊपर आनी चाहिए क्योंकि आपको टॉफी देने से पहले चेक करना है कि मुझे बाहर निकलना है कि नहीं निकलना है मुझे इसको स्किप करना है कि नहीं करना है ये तो पहले चेक करोगे ना ऐसा तो नहीं कि पहले टॉफी दे दिया फिर देखोगे अरे यह तो टू था तो वापस ले ली नहीं ऐसे नहीं आप पहले देख लोगे अच्छा टू आने वाला है ठीक है स्किप करना है मुझे इसे तो ऐसा कुछ अगर आपको करना है तो उसके लिए आपको एक कंडीशन जो है ये आपको पहले लिखनी पड़ेगी तो आप पहले लिखोगे यहां पर लिखोगे इफ i = 2 तो कंटिन्यू कंटिन्यू मतलब नीचे जो भी लिखा हुआ है नीचे चाहे किसी को भी कुछ भी काम करना हो नीचे कितनी ही लाइनें लिखी हो आपको स्किप करनी है और अगली इटरेशन पे चला जाना है यहां पे मैं i+ = 1 करता हूं और लेट्स से क्या होता है तो आप देखोगे सबको टॉफी मिलेगी बस टू को नहीं मिलेगी लेट्स से तो जीरो को दी वन को दी टू को टॉफी नहीं दी थ को दी फोर को दी सबको दी लेकिन टू को नहीं मिली टू की शक्ल पसंद नहीं है आप बोलो मुझे टू को नहीं देनी और साथ में 10 को भी नहीं देनी तो दोनों के ही केस में मुझे टॉफी नहीं बांटने तो क्या करूंगा मैं तो उसके लिए कुछ नहीं करना यार यहां पर आओ और और लगा दो कि अगर आ की वैल्यू टू है मतलब या तो रोल नंबर टू है या फिर रोल नंबर क्या था ए सपोज करो ए है कि अगर रोल नंबर टू है या फिर रोल नंबर एट है इन दोनों के केस में ही कंटिन्यू कर जाओ इन दोनों को टॉफी नहीं बाटनी तो अगेन ये काम करेगा आप देखोगे टू के केस में टॉफी नहीं मिली और एट को भी टॉफी नहीं मिली है क्योंकि दोनों ही केस में ये कंडीशन ट्रू हो जाती है ठीक है ओवरऑल जो हमारी कंडीशन है वो ट्रू हो जाती है ठीक है अगर कोई और कंडीशन लगानी है अब मैं आपको यहां पे एक एग्जांपल होमवर्क देता हूं कि टू को नहीं देनी टॉफी ट को नहीं टॉफी देनी और साथ में 15 से रोल नंबर जिनके बड़े हैं 15 16 17 18 19 20 इन सब को भी टॉफी नहीं देनी तो उसके लिए क्या चीज करोगे जरा कोड लिखो ठीक है देखने से पहले फिर मैं लिखूंगा यहां पर अगर आपने लिखा होगा तो अच्छी बात है बेसिकली होगा क्या कि मुझे अगर 15 से ज्यादा रोल नंबर वालों को भी टॉफी नहीं देनी तो मैं अगेन यहां पे कंडीशन लगाऊंगा कि इफ आ इज लेसन ग्रेटर दन इक्वल टू 15 कि मुझे दो वालों को नहीं टॉफी देनी मुझे आठ वालों को टॉफी नहीं देनी उसके बाद 15 से ज्यादा वालों को भी टॉफी नहीं देनी है मुझे तो इस तरीके से आप कंटिन्यू कर सकते हो तो यहां पर रन करते हैं देखो क्या होगा तो मैंने दो को नहीं दी मैंने एट को नहीं दी और साथ में मैंने 15 से ज्यादा वालों को भी टॉफी नहीं दी नहीं यहां पे आप कंटिन्यू के साथ ब्रेक को भी यूज कर सकते हो कंजंक्शन के अंदर कैसे कि आपको पता है 15 से ज्यादा हो गए तो कंटिन्यू कर रहे तो बार-बार लूप चलाने की जरूरत क्या है समझ में आ रहा है 15 से ज्यादा वाले लोगों को जब टॉफी बाटनी नहीं है और आपको पता है 15 के बाद 15 16 17 18 19 20 जितनी बार भी ये लूप चल रहा है उसके बाद लूप में चलाने का कोई फायदा नहीं है तो ब्रेक ही कर जाओ राइट तो इस वाली कंडीशन में क्यों ना ब्रेक कर जाए इस वाली कंडीशन में क्यों ना ब्रेक कर जाए तो मैं इसको बाहर निकालता हूं कंटिन्यू से और इस वाली कंडीशन में इफ i इ ग्र = 15 सीधा ब्रेक कर जाओ तो यहां पर भी अगेन सेम काम होने वाला है बस थोड़ा सा ये इफेक्टिव काम कर रहा है ठीक है सेम काम हो रहा है आप कंटिन्यू भी यूज कर सकते हो ब्रेक भी यूज कर सकते हो ब्रेक हिट होगा तो लूप से बाहर निकल जाओगे कंटिन्यू हिट होगा तो करंट इटरेशन को आप स्किप कर दोगे सिंपल सा काम है तो इस तरीके से आपका कंटिन्यू काम करता है इसके साथ ही हम अगली कांसेप्ट प मूव करते हैं व्हिच इज नेस्टेड लूप्स कि लूप के अंदर लूप लगाना है आपको और ये इससे ही ना बहुत बढ़िया-बढ़िया टाइप की चीजें बनती है बहुत बढ़िया-बढ़िया पैटर्न बनते हैं आपको देखेंगे ठीक है हम बहुत सारे पैटर्न सॉल्व करने वाले हैं आज की क्लास में तो नहीं लेकिन जो हमारी लाइव क्लास होगी उसके अंदर हम पैटर्न क्वेश्चन सॉल्व करोगे काफी सारे टाइप के इसके अलावा और भी जो इफ एल्स कंडीशन के कुछ क्वेश्चंस थे वो भी सॉल्व करें होंगे तो बेसिकली क्वेश्चंस टाइप की चीजें हम उस लाइव क्लास में कर लेंगे तो अ नेस्टेड लूप्स लेकिन क्या होते हैं कैसे काम करता है जरा वो समझते हैं तो बेसिकली एक लूप के अंदर फर्क नहीं पड़ता कौन सा लूप है फॉर लूप है बाय लूप है डू वाई लूप है एक लूप के बॉडी के अंदर अगर आपने एक दूसरा लूप चला दिया सपोज करो फॉल के अंदर आपने वाइड लूप चला दिया तो दिस इज कॉल्ड नेस्टेड लूप और यह जो नेस्टिंग है ना आप जितनी मर्जी लेवल की नेस्टिंग कर सकते हो यह आपने एक लेवल की नेस्टिंग की लेकिन आप इसके अंदर भी फर्द जा सकते हो और यहां पर आप सपोज एक आपने फॉर लूप चला दिया इसके अंदर तो आपने तीन लेवल की नेस्टिंग कर दिया है वैसे हम देखेंगे धीरे-धीरे करके इसके बाद कि आपको ज्यादा लेवल की नेस्टिंग नहीं करनी चाहिए बिकॉज उससे आपका कोड जो है वो ऑप्टिमाइज नहीं बनता है ठीक है उसका उससे आपका कोड कोड बहुत ज्यादा हाई टाइम कॉप्लेक्स टी का बन जाता है ये सब टाइम कॉम्प्लेक्शन ट्राई करते हो कि आपका कोड जो है वो कुछ ही इटरेशन वगैरह लगाए ठीक है अब ये इटरेशन वगैरह कैसे लग रही है ये नेस्टिंग कैसे काम कर रही है भया ये समझा दो तो जरा ये समझते हैं सपोज करो आपको एक नंबर लिखना है वन से लेकर फव तक ट 3 फर 5 आप बोलोगे भैया ठीक है आराम से कर लेंगे हमें तो कुछ नहीं करना फॉर लूप चलाना है और फॉर लूप के अंदर हम वन से लेकर फ तक आराम से नंबर प्रिंट कर देंगे मैं बोलूंगा बहुत बढ़िया य आपने कर लिया अब मैं बोलता हूं एक काम करो वन से लेकर फाइव तक ना नंबर 10 बार लिखो बचपन में याद है मम्मी बोलती थी वन लेकर 10 तक नंबर लिखो और बार-बार लिखो उस टाइम पर अगर ऐसा कुछ कोड वगैरह पता होता लूप वगैरह पता होते तो हम कोड में कर लेते आराम से लेकिन यहां पर अगर करना है तो कैसे करोगे अगर किसी को नहीं पता होगा तो वो क्या करेगा फॉर लूप को बार-बार लिखेगा ठीक है एक फॉर लूप लिखा यहां पर एक अगेन फॉर लूप लगाएगा नीचे दोबारा से लिख 1 2 3 4 5 फिर अगेन फॉर लूप लगाएगा ठीक है तो बारबार फॉर लूप लगाएगा मैं बोलूंगा नहीं भाई रुको फॉर लूप आपको आते है ना पहले से तो क्यों ना एक काम करो फॉर लूप के ऊपर एक और फॉर लूप लगा दो और ये ये बताएगा कितनी बार चलाना है यह बताएगा सपोज करो अच्छा आपको 10 बार चलाना है ठीक है 10 बार चलाना है अच्छा आपको पांच बार नंबर प्रिंट करना है ठीक है ज इ 5 तो ये अंदर वाला लूप जो है व प्रिंट करेगा बाहर वाला लूप कितनी बार चलाना है वो चीज देखेगा तो इस तरीके से आप नेस्टिंग कर देते हो और नेस्टिंग की रिक्वायरमेंट बहुत होती है अगेन ठीक है इसको जरा एग्जांपल समझते हैं तो इसके लिए मैं यहां पर नीचे आता हूं इस काम को हम कर देते हैं कमेंट ठीक है ये सब कमेंट कर दिया है मैंने और एकदम नीचे आता हूं सपोज करो हमें वही एग्जांपल लेते हैं फॉर आई ट टैप आ लेसन इक्टू 6 ठीक है तो जीरो से लेकर फ तक नंबर हमारे प्रिंट होने वाले लेट्स से वन से लेकर फ तक चलाने वाला हूं नंबर तो वन से लेकर फ तक हमारे नंबर चलेंगे इसके अंदर और मैं यहां पर प्रिंट करता हूं आई मैं प्रिंट एलन हटा रहा हूं य पर प्रिंट एलन इसलिए हटा रहा हं प्रिंट एलन नहीं हटाऊ तो आप देखोगे आपको पता है एक एक लाइन में नंबर प्रिंट होने वाले य पर टूथ 4 5 मैं चाहता हूं नहीं एक लाइन में नहीं एक ही लाइन में सारे नंबर हो जाए तो एलन हटा दिया मैंने और आई के बाद मैंने लगा दिया स्पेस जिससे कि नंबर्स के बीच में स्पेस भी आ जाए ठीक है इस तरीके से यहां पर नंबर के बाद स्पेस प आ रहा है अगर मैं ये नहीं लगाऊंगा तो आपको पता है क्या होने वाला है 12345 प्रिंट होने वाला है व्हिच इज नॉट व्हाट यू वांटेड राइट तो इसीलिए हमें यहां पे ये लगाना पड़ेगा प्लस इक्वल टू तो आपको दिख रहा है ठीक है वन से लेकर फाइव तक नंबर प्रिंट हो रहे हैं इस वाले लूप में अपना काम कर दिया मैं बोलूंगा एक ये एक काम करो आपको गिनती सीखनी है आपको ये चीज 10 बार लिखनी है तो एक बंदा तो क्या कर सकता है ये कि चलो ठीक है 10 बार लिखनी है तो ये लूप में 10 बार लिख देता हूं तीन च पा 6 सा 89 10 मैं बोलू यार इतनी मेहनत करने का क्या फायदा आप काम रिपीटिटिवली रहे हो हो तो जाएगा आपका काम जो आप चाहते थे एक दोती च पा एक दोती चा पा ये 10 बार एक दोती च पा आप लिख दिए अच्छी बात है लिखती है लेकिन लूप्स आपको पता है राइट लूप्स कैसे काम करते हैं तो आप यह सब हटा सकते हो आपने अंदर वाले लूप को तो बोल दिया कि ठीक है तुम्हारा काम है प्रिंट करना और एक बाहर वाला लूप बना लो ठीक है फॉर आ और इसके अंदर आई की वैल्यू को ले से बोलता हूं काउंट काउंट इ लेसन 10 तोय आपका लूप 10 बार चलने वाला है जीरो से लेकर न बार मतलब 10 बार और उस लूप के अंदर डाल दो इस लूप को उठाया मैंने कट पेस्ट इस लूप के अंदर मैंने डाल दिया है इस लूप को तो ऊपर वाला लूप तो बेसिकली 10 बार चलेगा और अंदर वाला लूप जो भी काम हो रहा है वो अपना छह बार प्रिंट करेगा और यह चीज आपकी 10 बार होने वाली है देखो जरा तो 1 2 3 4 5 उसके बाद अगेन 1 2 3 4 5 उसके बाद अगेन 1 2 3 4 5 उसके बाद अगेन 1 2 3 4 5 एंड सो ऑन तो इस तरीके से आपका लूप जो है वो 10 बार चल रहा है इस चीज को अगर ठीक से देखना है तो एक काम करते हैं कि एक बार जैसे आपने 1 2 3 4 5 प्रिंट कर दिया ना तो आप एक न्यू लाइन प्रिंट कर दो तो न्यू लाइन प्रिंट करने के लिए आपको एमटी सिस्टम प्रिंटर लिखना होता है जिससे आपकी न्यू लाइन प्रिंट हो जाएगी यह सब होने के बाद तो आप देखोगे एक एक लाइन में आ रहे होंगे इस तरीके से ठीक है नीट एंड क्लीन आपको देखना है कि नहीं भाई कितनी बार प्रिंट हो रहा है एक्चुअली में पता तो चले कितनी बार प्रिंट हो रहा है तो यहां पर आप कर सकते हो ये कि प्रिंटेड और यहां पर काउंट आप बारबार काउंट प प्रिंट करा सकते हो कि कितनी बार ये प्रिंट हुआ है रन करते हैं इसे देखो क्या होगा प्रिंटेड जीरो प्रिंटेड वन प्रिंटेड टू प्रिंटेड नाइन तो जीरो से लेकर नाइन मतलब की टोटल 10 बार प्रिंट हुआ है और क्या प्रिंट हुआ है 1 2 3 4 5 समझ में आ रही है ये चीज अगर समझ में नहीं आ रही तो टेंशन मत लो धीरे-धीरे करके और एग्जांपल समझते हैं इसे तो पहला एपल तो य था जिसके अंदर आपको थ 4 5 10 बार प्रिंट करना था यह सिंपल था अब एक काम करते हैं मैं बोलता हूं आपको सुनो एक बढ़िया सा पैटर्न बनाते हैं पैटर्न कैसे बनाएंगे भैया तो पैटर्न तो बहुत सारे बनाने वाले ऐसे लेकिन सपोज करो मैं बोलता आ इ 0 आ लेसन 5 और यहां पर तो आपने अगेन टूथ 4 5 करना है तो वन प्रिंट करना है मतलब य नंबर प्रिंट करना है तो एस आउट आई आपको पता है क्या होने वाला है य पर हमें पता है भैया क्या होने वाला है य पर यहां पर हमारा जीरो से लेकर फोर तक नंबर प्रिंट होने वाला है एंड यू आर राइट जीरो से लेकर फोर तक नंबर प्रिंट होने वाला है मैं बोलूंगा सुनो यह जो नंबर प्रिंट कर रहे हो ना आप जीरो से लेकर फोर तक इस चीज को भी एक वेरिएबल में डाल दो कि पहले आप एक बार प्रिंट करोगे अगले लान में दो बार अगले न में तीन बार इस तरीके से क्या कहना चाहता हूं जरा समझेंगे तो फॉर आई मैंने अगेन लगाया यहां पर और यहां पर मैं ऐसा करता हूं आई की जगह ज लिख देता हूं और एक काम करते है ऐसा नहीं लिखते इसको इस तरीके से करते क्योंकि ऊपर वाला लूप में आई रखना चाहता हूं अंदर वाले लूप में मैं जे लगाना चाहता हूं तो फॉर आई और इस बार अपने आप यहां पर जे लग चुका है देख रहे हो नेस्टेड लूप अपने आप जे लग चुका है क्योंकि इंटेलिजेंस थोड़ा इंटेलिजेंट तो है और यहां पर मैं बोलूंगा सुनो आपको लूप चलाना है आई बार और इस चीज को मैं डालूंगा ऊपर और यहां पर मैं अब आई की जगह प्रिंट करूंगा जे और यहां पर मैं एस आउट लगाऊंगा सिंपल एक न्यू लाइन के साथ समझ में नहीं आया होगा अगर आप पहली बार देख रहे हो तो शायद समझ में आया हो लेकिन धीरे-धीरे करके समझेंगे अगर आपको आ गया है तो बहुत अच्छी बात है हो क्या रहा है इस कोड के अंदर पहले एक बार चलाते हैं तब समझाऊ तो एक बढ़िया सा पैटर्न बनके आ गया भैया इसके अंदर तो जीरो पहले प्रिंट हुआ उसके बाद 0 व प्रिंट हुआ उसके बाद 0 1 2 प्रिंट हुआ उसके बाद 0 1 2 3 प्रिंट हुआ सुंदर सा पैटर्न प्रिंट हो गया तो इस तरीके से आप पैटर्न वगैरह प्रिंट कर पाते हो अपने नेस्टेड लूप्स की हेल्प से कैसे होगा कैसे काम कर रहा है ये तो जरा समझते हैं आप तो जरा समझने के लिए एक काम करते हैं इसको मैं थोड़ा बड़ा कर देता हूं तो बेसिकली आप हो क्या रहा है i की वैल्यू रो है i < 5 i + प आप अंदर गए लूप के अंदर ठीक है उसके बाद क्या हुआ j की वैल्यू रो है j < i i की वैल्यू भी रो है इस इटरेशन में i की वैल्यू भी रो है तो 0 इज लेसन 0 कंडीशन हो गई फाल्स तो आपने j प्रिंट नहीं किया आप बाहर आ गए और आप न्यू लाइन में चले गए तो बेसिकली वही हुआ यहां पे आप देख रहे हो आप यहां से उठके न्यू लाइन में चले गए बिना कुछ प्रिंट किए वो हो गया पहली बारी में उसके बाद आप अगली इटरेशन में गए i की वैल्यू हो गई वन अब आपके i की वैल्यू हो चुकी है वन आप अंदर गए दोबारा से जे दोबारा से स्टार्ट होगा लेकिन मैंने आपको बताया था एक बार जब लूप खत्म हो गया आप बाहर आ गए तो जे जो भी था सब खत्म हो चुका है मेमोरी से बाहर जा चुका है अब दोबारा से जे बनेगा एक ठीक है यह बेसिकली ऐसा है कि आप पहले गए यहां पे यह आपकी आ की वैल्यू थी जीरो इसके लिए जे बना लेकिन जैसे ही जे वाले रूप से आप बाहर निकले जे पूरा का पूरा डिस्ट्रॉय हो चुका है उसके बाद वन के लिए अगेन जे बना ठीक है और जे कहां से स्टार्ट हो रहा है ज जीरो से स्टार्ट हो रहा है जे का त चगा ज लेसन 1 i की वैल्यू तो वन है तो ज लेसन 1 तो 0 इज लेस दन व हां सही बात है तो j प्रिंट हुआ तो इसलिए आपका जीरो प्रिंट हो गया यहां पर उसके बाद j इंक्रीमेंट हुआ ज हो गया वन वन इज लेसन व कंडीशन हो गई फॉल्स समझते चल ना सब कुछ कंडीशन हो गई फॉल्स आप बाहर निकले उसके बाद आपने न्यू लाइन हिट किया आप न्यू लाइन हिट किया तो अगेन आप इस लाइन में आ गए अब लेकिन i की वैल्यू कितनी हो गई अब ये दोबारा से खत्म हो चुका है ठीक है जे जो भी था अंदर ज खत्म हो चुका है ज मेमोरी से बाहर निकल चुका दोबारा से उसके बाद अगेन आप चाहोगे आपके आ की वैल्यू इस बार हो चुकी है वन से हटके टू इंक्रीमेंट हु ना आ आपका आ की वैल्यू हो गया टू यहां प भी आपके आई की वैल्यू हो गई ट ट ज अगेन जीरो से स्टार्ट होगा ठीक है ज दोबारा से बनेगा 2 और आ की की वैल्यू है जीरो 0 लेसन टू है क्या हां 0 लेसन टू है तो जीरो प्रिंट करो उसके बाद ज इंक्रीमेंट होगा ज की वैल्यू जाएगी वव लेसन टू है तो हां 1 लेसन टू है तो अगेन आप यहां पर वन प्रिंट करो उसके बाद टू हो जाएगा 2 लेसन टू है क्या नहीं 2 लेसन टू नहीं है तो उसके बाद आप यहां से बाहर निकल जाओ अगेन अगली लाइन में आ जाओ इस तरीके से तो यहां पर पैटर्न प्रिंट होते आ रहा है पहले आपने प्रिंट किया खाली कुछ भी नहीं उसके बाद आपने प्रिंट किया जीरो उसके बाद आपने प्रिंट किया रो और वन 0 व और टू 0 1 2 3 एंड सो ऑन इस तरीके से आप ट्रेंड करते जाओगे अगर आप यहां प आ की वैल्यू को बढ़ा दो सपोज करो आ की वैल्यू को मैं कर देता हूं यहां पर ए तो यही चीज आपकी एट लाइंस में होगी अब और ये थोड़ा लंबा सा ट्रायंगल बन जाएगा बात समझ में आ रही है बहुत ही सिंपल है बहुत खतरनाक नहीं है यह और अब अगर आपको यहां पर एक पैटर्न भी बनाना है कि भैया मुझे पैटर्न भी बनाना है और मुझे ऊपर खाली स्पेस नहीं चाहिए मुझे खाली स्पेस में मजा नहीं आ रहा तो खाली स्पेस नहीं चाहिए तो आप लेसन इक्वल टू लगा दो और अब दोबारा रन करो देखो पहले तो क्या होने वाला है ऊपर वाला खाली स्पेस नहीं आया जीरो के टाइम पर भी प्रिंट हो गया क्योंकि जीरो इज लेसन जीरो च इज ट्रू तब भी आप जीरो प्रिंट कर रहे हो तो इसलिए आपका यहां पर जीरो प्रिंट हो रहा है इस बार अब अगर आप चाहते हो कि नहीं मुझे तो भैया जे नहीं प्रिंट कराना मुझे एक पैटर्न बनाना है तो आप यहां पे स्टार लगा सकते हो और आप एक ट्रायंगल बना पाओगे अब एक ठीक है तो यहां पे स्टार ऐसे नहीं सॉरी ये तो गलत हो गया स्टार आप ऐसे लगाओगे और अब आप देखोगे एक सुंदर सा पैटर्न बनते हुए मस्त ट्रायंगल बन रहा है ठीक है तो इस तरीके से आप ये ट्रायंगल आप जितना मर्जी बड़ा बना सकते हो सपोज करो मैं यहां पे लिख देता हूं 18 तो एक बड़ा सा ट्रायंगल बनने वाला है अब ये देख रहे हो तो इस तरीके से आपके पैटर्न बन रहे होते हैं इस टाइप के पैटर्न हम और भी बहुत ज्यादा देख रहे होंगे लेकिन आपको सिंपल सा एक कांसेप्ट सिखाना था विच इज नेस्टेड लूप्स फॉर लूप के अंदर हमने लगाया है अभी फिलहाल फॉर लूप जरूरी नहीं है लेकिन आप चाहो तो फॉर लूप के अंदर वाइल लूप भी लगा सकते हो आपने लगाया फॉर इंट i = 0 आ ले 10 आ प्स प्स ये मैं बार-बार आई कैसे यूज कर पा रहा हूं क्योंकि यह वाला जो आई है यह तो इस फॉर लूप के अंदर है और यह जैसे ही फॉर लूप खत्म हुआ होगा वैसे ही आई आपका मेमोरी से बाहर निकल गया है तो अब दोबारा से आ बन सकता है यह स्कोप की बातें हैं आपको समझ नहीं होंगी ठीक है स्कोप तो अगेन हमारा आई बना आई आपका 10 बार चल रहा अब मैं चाहता हूं इसके अंदर एक वाइल लूप लगाना वाइल इसके लिए दूसरा ल बनाना पड़ेगा लेट्स से दूसरा वेबल बनाता य पर इंट ज इक्व ू लेटस से जीरो और बोलूंगा वाइल ज इज लेसन इक्ट 5 तब तक य वाला लूप चलना चाहिए इस लूप के अंदर मैं प्रिंट करूंगा प्रिंट एल नहीं बस प्रिंट करूंगा ज को इस तरीके से और जैसे मेरा वाइड लूप खत्म होता है को एक न्यू लाइन प्रिंट करनी है और j प् प्स भी कर देते हैं यहां पर इस तरीके से तो अब आप देखोगे क्या होने वाला है आपका वही वाला कोड है ये जो मैंने यहां पर लिखा था ना फॉर के अंदर फॉर लूप के साथ सेम चीज मैंने फॉर के अंदर वाइड लूप के साथ लिख दिया है इस बार और चलाएंगे इसे सेम काम करने वाला है पहले आपके स्टार्स प्रिंट हो गए उसके बाद ये देखो 0 1 2 3 4 5 ये रो से लेकर फाइव लिखने वाला काम कौन कर रहा है फॉर लूप कर रहा है कि वाइ लूप कर रहा है बताओ तो आपको समझ में आ रहा होगा हां सही बात है वाइ लूप कर रहा है जीरो से लेकर फाइव तक लिखने वाला काम तो वाइड लूप कर रहा है लेकिन इसको 10 बार रिपीट करने वाला काम कौन कर रहा है वो आपका फॉर लूप कर रहा है ठीक है तो फॉर लूप का काम अलग है फॉर लूप का काम है इस चीज को बार-बार रिपीट करना वाइ लूप का काम है इस चीज को बार-बार रिपीट करना इस तरीके से आपके नेच लूप्स काम करते हैं एक के अंदर आपने एक ल लूप बना दिया है और ये हम बहुत ज्यादा यूज कर रहे होंगे ठीक है अभी तो मैंने एक सिंपल सा पैटर्न बनाया है लेकिन आपको मैं बहुत सारे पैटर्न दूंगा बनाने के लिए और हम सीख रहे होंगे और मल्टीपल पैटर्स के साथ कैसे आपके लूप्स के अंदर मल्टीपल पैटर्स बनते हैं पैटर्स बना के फायदा क्या होता है भैया पछे आते हैं क्या नहीं इंटरव्यूज के अंदर नहीं पूछे जाते लेकिन आपकी फॉर लूप्स की वाइड लूप्स की लूप्स की नेस्ट लूप्स की बेसिकली अंडरस्टैंडिंग फाउंडेशन स्ट्रांग होती है ठीक है तो वो सब हम देखेंगे लाइव क्लास के अंदर इसके बाद हम अगले कांसेप्ट में मूव करेंगे व्हिच इज लेबल्ड ब्रेक एंड कंटिन्यू स्टेटमेंट बहुत कम यूज किया जाता है ये ठीक है बहुत ज्यादा यूज नहीं करते लेकिन स्टिल एक इंपॉर्टेंट कांसेप्ट है तो जरा समझ लेते हैं तो सबसे पहले ये समझना जरूरी है कि इसकी रिक्वायरमेंट क्या है लेबल्ड ब्रेक एंड कंटिन्यू की रिक्वायरमेंट ही क्यों पड़ती है तो बेसिकली जब भी आप एक नेस्टेड लूप के अंदर कंटिन्यू लगाते हो या फिर ब्रेक लगाते हो तो होता क्या है ना आप इनर मोस्ट लूप में जिस भी लूप के अंदर आपने लिखा है ना उसके इनर मोस्ट लूप से आप बाहर निकल रहे होते हो तो अगर मैंने एक वाइल लूप के अंदर दूसरे वाइल लूप को बना रखा है और उसके अंदर मैंने कंटिन्यू स्टेटमेंट हिट की तो जो स्किप होगा वो सिर्फ इस वाले वाइल लूप के अंदर होगा या फिर अगर मैंने कंटिन्यू नहीं सपोज करो ब्रेक लिखा यहां पे तो सिर्फ अंदर वाला लूप ब्रेक होगा ना कि बाहर वाला लूप ब्रेक होगा ठीक है लेकिन आप कई बार चाहते हो कोड के अंदर कि अंदर वाले लूप के अंदर से मैं बाहर वाले लूप के अंदर से भी ब्रेक निकल कर जाऊं ठीक है कि अंदर वाले लूप के अंदर होते-होते भी मैं बाहर वाले लूप से ब्रेक कर जाऊं तो उस टाइम पे आपको लेबल्स की रिक्वायरमेंट होती है और बहुत कम यूज़ कर रहे होते हो क्योंकि बहुत ज्यादा कंफ्यूज ंग चीज भी होती है लेबल तो कई बार आप आप अपने कोड को ही इस तरीके से रीफैक्स हो जाए मैं समझाऊं ये सब चीजें जब हम सर्टिंग वगैरह पढ़ रहे होंगे ना अच्छे से तो हम देखेंगे ये सब चीजों को लेकिन अभी फिलहाल समझाता हूं कि लेबल कैसे काम करते है तो लेबल बनाने के लिए आप कुछ भी टेक्स्ट लिखते हो ठीक है जैसे दिस इज योर आइडेंटिफिकेशन बाद आपने कोलन लगाया तो इसका मतलब क्या है ये आपका इस वाले वाइल लूप का लेबल बन चुका है कि आप अपने वाइल लूप को बुला सकते हो एक नाम से कि सुन भाई ये मेरा ये वाला वाइल लूप है दिस इज वाइल लूप नंबर लियो दिस इज वाइल लूप नंबर टॉमी इस तरीके से तो ये आपका सपोज करो आपने इसका लेवल दे दिया लियो तो ये वाला वाइल लूप का नाम नाम हो गया बेसिकली इस वाले वाइल लूप का नाम हो गया लियो इस वाले वाइल लूप का आपने नाम दे दिया लेट से टॉमी और आप टॉमी वाले लूप से लियो वाले लूप को ब्रेक कर रहे हो इस तरीके से लेबल घ करते हैं जरा कोड में समझेंगे तो और अच्छे समझ में आने वाला है कि सपोज करो ऐसा मेरा कोड है राइट और मैं चाहता हूं यहां से कि इफ j कभी अगर हो जाता है थ्री के बराबर तो मेरे को ब्रेक करना है आपको समझ में आ रहा होगा क्या होने वाला है यहां पे यहां बेसिकली जैसे आपकी j की वैल्यू थ्री होती है वैसे ही आप बाहर निकल जाओगे लूप में से तो इसको जरा चला के देखते हैं पहले तो आपका स्टार प्रिंट होगा लेकिन आपका यहां पर 012 012 ही प्रिंट हो रहा है ठीक है एक्चुअली हुआ क्या ना जैसे ही j की वैल्यू थी हुई आप लूप से बाहर निकल गए लेकिन आप इनर मोस्ट लूप से बाहर निकले अगली बारी में आपका अगेन बाहर वाला लूप चला और उसने आपने अगेन अपना काम किया और अगेन आपका 0 वट प्रिंट कराया तो इसलिए बाहर वाले लूप से आप बाहर नहीं निकले आप चाहते हो कई बार की बाहर वाली लूप से बाहर निकल जाओ तो उसके लिए क्या करना पड़ेगा इस बाहर वाले लूप को आपको एक लेबल देना पड़ेगा उसको एक नाम देना पड़ेगा तो यहां पर कुछ भी नाम दे सकते हो लेट्स से मैं इसको नाम दे देता हूं आउटर लोप और इसके बाद में लगा दूंगा यहां पर कलन ठीक है कलन लगाना जरूरी है उसके बाद जावा को पता ठीक है इसने इसको लेबल्ड फॉर लूप बनाया है आपने एक लेबल्ड फॉर लूप बनाया है तो आप अब यहां से ब्रेक करने के बाद एक लेबल बता सकते हो कि किस लूप से बाहर निकलना है तो मैं यहां पे बताऊंगा आउटर लूप नाम के लूप से बाहर निकलना है मुझे जब ये कंडीशन हिट हो जाए तो इस बार सिर्फ आपका एक बार ही 012 प्रिंट होगा मैं ऊपर वाली चीज को यहां पे कमेंट कर रहा हूं ये स्टार वगैरह नहीं चाहिए मुझे तो अब आप देखोगे कि सिर्फ एक ही बार 012 प्रिंट हुआ और आप पहली बारी में ही लूप से बाहर निकल गए बाहर वाले लूप से भी तो सिर्फ एक ही बार प्रिंट हुआ तो ये फायदा होता है आपके लेबल लगाने का लेबल लगाने के बाद आप अंदर वाले लूप को बोल सकते हो कि सुन तेरे से नहीं बाहर निकलना मुझे बाहर वाले लूप से ही बाहर निकलना है सीधा तो आप बाहर वाले लूप से बाहर निकल जाते हो अंदर वाले से तो निकलते ही हो बाहर वाले लूप से भी बाहर निकल जाते हो तो आप इससे कितने मर्जी लेवल की नेस्टिंग कर लो और जिस मर्जी लूप से बाहर निकल जाओ ठीक है हो सकता है आप नेस्टिंग कर लो पांच लेवल की आपको बाहर निकलना है तीसरे लेवल पर तो ये सपोज करो ये फॉर लूप वन है इसके अंदर आपने फॉर लूप टू बना रखा है इसके अंदर आपने फॉर लूप थ्री बना रखा है उसके अंदर आपने फॉर लूप फोर बना रखा है और फॉर लूप फोर वाले से आप चा चाते हो कि टू वाले से बाहर निकलना तो आप ब्रेक करोगे ब्रेक करोगे फॉर लूप टू वाले को इस तरीके से तो आप क्या करोगे यहां से ब्रेक हुआ यहां से ब्रेक हुआ यहां से ब्रेक हुआ और आप सीधा फॉर लूप वन वाले के अंदर दोबारा से रिपीट करने लग जाओगे तो इस टाइप की चीज अगर आपको कभी चाहिए कोड के अंदर तो उस टाइम प आपको लेबल बना देना चाहिए उन लूप्स के ऊपर लेकिन अगेन मैं बोलूंगा ये एक रिकमेंडेटरी देबल हो जाता है और समझ में नहीं आता कई बार कि क्या क्या मतलब क्या क्यों करना चाहते हैं तो कई बार आप अपने कोड को इस तरीके से रि फैक्टर कर दो कि आपको इस तरीके से लेबल बनाने ही ना पड़े तो डिस्कस किया जाता है लेबल का यूज़ करना लेकिन स्टिल आपको पता होना चाहिए कि ये क्या हो रहा है कभी अगर क्वेश्चन आ गया एमसीक्यू वाला कि ये क्या लिखा जा रहा है तो आप वहां पे आउटपुट लिख पाओ ठीक से उसके लिए लेबल पता होने चाहिए ठीक है तो इसी के साथ ही हमारे लेबल लूप खत्म हो जाते हैं एंड विद दैट हमने लूप्स पढ़ लिए हैं एक लूप लेकिन बच गया अभी भी व्हिच इज फॉर ईच लूप लेकिन वो हम पढ़ेंगे नेक्स्ट क्लास में जब हम एरे पढ़ रहे होंगे इसके साथ चलते हैं बाय बाय हे व्ट्स अप गाइ आज हम बात करने वाले हैं ए एज के बारे में जावा के अंदर हम देखेंगे अरेज कैसे काम करते हैं तो सब कुछ समझ रहे होंगे रेज के अराउंड रेज एक मोस्टली यूज डाटा स्ट्रक्चर आपके पूरे पूरे प्रोग्रामिंग के अंदर आप सबसे ज्यादा जो डेटा स्ट्रक्चर यूज़ कर रहे होंगे वो एरे ही होता है डेटा स्ट्रक्चर क्या होता है भैया हमें तो यही नहीं पता तो बेसिकली एरे के अंदर आप लोग लिस्ट की फॉर्मेट में डेटा स्टोर कर सकते हो और एक डेटा स्ट्रक्चर के अंदर आप अलग-अलग तरीके से डेटा स्टोर कर सकते हो तो उनमें से एक तरीका आपका अरेज भी है लिस्ट के अंदर आप लोग डेटा स्टोर कर सकते हो फॉर एग्जांपल अगर आप रियल वर्ल्ड में एक एग्जांपल समझो तो जैसे आपकी मम्मी ने आपको मार्केट भेज कुछ सामान लाने के लिए तो आपको एक लिस्ट देती है राइट चार-पांच आइटम्स की ये लाना है ये लाना ये लाना है इस टाइप की चीजों को अगर आप लोगों को डिनोट करना है प्रोग्रामिंग के अंदर तो कैसे डिनोट करोगे एक लिस्ट कैसे बनाओगे वो लिस्ट आप लोगों की एरस की फॉर्मेट में ही बन रही होती है तो जावा के अंदर एरस कैसे काम करते हैं वो समझ रहे होंगे हम और साथ में इसको कैसे आप लोग इनिज करते हो डिक्लेयर करते हो यूज कैसे करोगे अपनी प्रोग्रामिंग के अंदर वो सब समझ रहे होंगे इसके साथ ही एरे इस के अंदर कुछ और कांसेप्ट भी आते हैं कि एरे को सॉर्ट वगैरह करना लेकिन वो हम देख रहे होंगे लाइव क्लास के अंदर ठीक है आज हम समझने वाले हैं अरेज के बेसिक्स को तो अ हाउ डू द अरेज वर्क हम पढ़ेंगे उसके बाद क्रिएटिंग एंड डिक्लेयर अरेज इसके अलावा इटरेट करना होता है एरे के अंदर तो उसमें एक फॉर ईच लूप के थ्रू आप इटरेट कर रहे होते हैं तो फॉर लूप्स हमने पढ़ लिए थे लूप्स पढ़ ले थे बेसिकली फॉर इच लूप एक हमारा बच गया जो कि अरेज के अंदर सेंस बनाएगा तो हम यहां पर समझेंगे इसे एंड देन मल्टी डायमेंशन अरेज ये समझ रहे होंगे कि मैट्रिसेज वगैरह आप लोग कैसे बनाते हैं तो बहुत ही इंपोर्टेंट कांसेप्ट रहने वाला है लेकिन बहुत ही बिगनर फ्रेंडली तरीके से हम समझने वाले हैं तो स्टार्ट करते हैं तो हाउ डू द अरेज वर्क यहां पे लिखा है अरेज आर स्टोर्ड इन कंटीन्यूअस मेमोरी कंटीन्यूअस मेमोरी लोकेशन तो बेसिकली मेमोरी के अंदर काफी सारी चीजें अलग-अलग जग में पड़ी रहती है फॉर एग्जांपल सपोज करो दिस इज योर मेमोरी ठीक है ये एक बड़ी सी हमारी मेमोरी है और इसके अंदर आप लोगों का डाटा काफी सारे रोज एंड कॉलम्स के अंदर फिल्ड होता है इस तरीके से आप लोग की मल्टीपल रोज बनी होती है एंड देन कॉलम्स बने होते हैं और मल्टीपल तरीके से आप लोगों का डटा अलग-अलग वहां पर स्टोर होता है आप लोग अपने प्रोग्राम लिखते हो फॉर एग्जांपल आपने लिखा इंट एज इक्वल्स टू लेट्स से 26 इस तरीके से तो ये जो एज नाम का वेरिएबल है ये कहीं पे स्टोर होगा और 26 नाम के डाटा को वो पॉइंट कर रहा होगा इस तरीके से राइट तो 26 वाला जो जो डाटा है ये आपको पता है इंट है तो ये चार बाइट्स का होगा राइट फोर बाइट्स का होगा ये और फोर बाइट्स का आप लोगों के लिए मेमोरी एलोकेट हो जाएगा अब मैं बोलता हूं कि आप लोगों को ना 10 लोगों के एज स्टोर करनी है 10 लोग हैं 10 बच्चे हैं आपके सपोज करो उनकी एज आप लोगों को पता नहीं है कभी भी कोई आके पूछ सकता है कि बच्चे नंबर फोर की एज बताओ या फिर रोल नंबर फाइव की एज बताओ इस तरीके से तो आप कैसे उनकी एज स्टोर करोगे तो एक तरीका तो यह है कि हम ऐसे कर सकते हैं इंट जज वन बना लिया एक हमने और एक इंट एज टू हमने बना लिया अलग राइट 20 थ इस तरीके से हम एज 10 तक बना सकते हैं और अलग-अलग बच्चे की एज को हम स्टोर कर सकते हैं राइट बट यह एक अच्छा तरीका नहीं है क्योंकि यहां पर आप लोगों के अलग-अलग जगहों पर डाटा पड़ा होगा राइट और आप लोगों को मैनेज भी करने पड़ेंगे अलग-अलग वेरिएबल बेसिकली जावा के अंदर आप लोग नहीं बता सकते कि किस जगह पर आपको कौन सा डाटा स्टोर करना है राइट अपने आप ही ऑपरेटिंग सिस्टम मेमोरी में अलग-अलग जग पर डाटा स्टोर करता है तब प्रॉब्लम ये हो जाती है कि आप लोगों को ये 10 के 10 वेरिएबल मेंटेन करने पड़े एज व एज टू एज 10 इस तरीके से और अगर सपोज करो 10 नहीं आपके पास मिलियंस की लिस्ट है बिलियंस की लिस्ट है तो वो डाटा तो स्टोर नहीं हो पाएगा राइट वो डाटा स्टोर नहीं हो पाएगा क्योंकि आपको बहुत सारे वेरिएबल बनाने पड़ेंगे तो उस जगह पर काम में आता है आप लोगों का अरेज अगर आपको दिख रहा है कि मुझे सेम टाइप का डाटा स्टोर करना है तो ए एरे जो होते हैं वो आपके सेम टाइप के डाटा को स्टोर करने के काम आता है ठीक है सेम टाइप का डाटा इसका मतलब कि आपको बहुत सारे इंट अगर स्टोर करना है तो एक काम करो इसकी एक एक लिस्ट बना लो इस तरीके से ठीक है एरे के अंदर आप लोगों की लिस्ट बन जाती है और उसके अंदर आप जितना मर्जी डटा स्टोर कर सकते हो आप यहां पे एरे का साइज बता दो सपोज करो हमने बोल दिया 10 बच्चे हैं यहां पे वैसे कितने हैं 0 1 2 3 4 5 6 तो यहां पर टोटल सेवन जगह है राइट आप नोट कर रहे होगे मैं यहां पर रो से स्टार्ट कर रहा हूं एक्चुअली ये इंडेक्स है ठीक है ये आप लोगों की इंडेक्स है जो कि जीरो से स्टार्ट होती है तो एरे के अंदर अगर आप लोगों को किसी भी चीज को एक्सेस करना है तो वो जीरो से स्टार्ट होगा तो यहां पर हमें दिख रहा है कि एरे का साइज क्या है बेसिकली इसकी लेंथ क्या है इसकी लेंथ है सेवन क्योंकि इसके अंदर सेवन जगह है जहां पर आप डेटा डाल सकते हो और आप लोगों के लिए जब आप ऐसे एरे बना रहे होंगे तो कंटस फैशन के अंदर मतलब लगातार लाइन में लगातार मेमोरी के अंदर सेवन अ 7 इंट का डाटा एलोकेट हो जाएगा आप लोगों के लिए तो आप लोगों का डाटा लाइन से स्टोर होगा उस केस में जैसे कि यहां पर तो 26 वाला डाटा सपोज करो इस जगह पे है 212 इस जगह पे और यहां पर ये वाला जो डटा है वो सपोज करो यहां पर है 3 2 4 यहां पे ये वाला डटा जो है सपोज करो 5120 मैंने ऐसे रैंडम जगह लिख दी है कुछ भी हो सकती है जगहो की जगहों के नंबर है ये बेसिकली जैसे आपके घर के नंबर होते हैं वैसे ही लेकिन अब जब आपने ऐसे एरे बना दिया ना तो एरे बनाने से क्या होता है आपका कंटीन्यूअस फशन के अंदर यहां पर लिखा है ना कंटीन्यूअस मेमोरी के अंदर आप लोग का डाटा स्टोर होगा तो यहां पे आपका डाटा जो है कंटस मेमोरी में स्टोर होगा और अब आप इन जगहों पे अपना डाटा स्टोर कर सकते हो फॉर एग्जांपल आपको ये सब स्टोर करना था राइट तो 26 यहां डाल दिया आपने 23 यहां पर डाल दिया आपने इसके अलावा कुछ और बच्चे होंगे यहां पर डाल दिए उसके बाद 21 बनी यहां डाल दिया आपने तो इस तरीके से सात बच्चों के नंबर्स आप स्टोर कर सकते हैं पे इस तरीके से आप लोग एक लिस्ट स्टोर कर सकते हो कंटीन्यूअस फैशन में आपका डेटा शोर होता है इसको जरा ठीक से समझेंगे कि इसकी हेल्प से फिर एरे इतना ऑप्टिमाइज कैसे हो जाता है ठीक है एरे को पता कैसे चलता है कि आपको यहां का डाटा निकालना है तो वो कैसे पता लगा देता है उसको मेमोरी लोकेशन तो नहीं रखता वो अपने पास तो उसे पता कैसे लगता है ये सब भी हम पढ़ रहे होंगे लेकिन हां एरिज इस तरीके से काम करते हैं अभी एरे इस के अंदर थोड़ा और डीप में जाएंगे लेकिन अ एक बार जरा ये समझ लेते हैं कि एरे को आप लोग कैसे क्रिएट करते हो जावा के अंदर और एरे को यूज़ किस तरीके से करते हो जावा के अंदर ठीक है तो बेसिकली दो चीजें होती है सबसे पहले आप डिक्लेयर करते हो उसके बाद आप लोग इनिश इज करते हो या फिर एलोकेट करते हो मेमोरी को राइट आप लोगों ने देखा था इंट के अंदर जैसे आपका ये इंट वेरिएबल है तो जो आपने सिर्फ ये लिखा इंट एज तो इसे हम क्या कहते हैं इसे हम कहते हैं डिक्लेयर अ वेरिएबल या फिर डिक्लेरेशन हमने यहां पे वेरिएबल डिक्लेयर कर दिया कि सुनो जावा प्रोग्राम हम एज नाम का वेरिएबल कभी ना कभी यूज़ करेंगे वी आर डिक्लेयर कि हमारे पास एज नाम का वेरिएबल है जो कि हम यूज़ करेंगे कभी ना कभी तो यह आपने डिक्लेयर किया है अब आपको इनिला करना है ए इ 23 लेट से तो आपने एज वेरिएबल को इलाज कर दिया कि सुनो आज आज हमने इसका नामकरण कर दिया है बेसिकली नामकरण तो पहले हो गया था आज लेकिन इसको हमने एक वैल्यू भी दे दिया है कि इसके अंदर 23 डटा स्टोर होगा इसको हमने इलाज कर दिया इसको हमने बता दिया है य 23 अंदर डटा स्टोर होगा ठीक है दिस थिंग इज इनिला जशन जब आप इसको पहली बार बताते हो इनिश एक सेकंड इनिशियल जशन इस तरीके से काम करता है तो सिमिलर चीज हम यहां पर कर रहे हैं हम पहले एरे डिक्लेयर करते हैं डिक्लेयर करने के लिए आपके पास सिंटेक्स ऐसा कुछ होता है देख सकते हो आप आप पहले इंट लगाया क्योंकि आपको इंट टाइप का डाटा स्टोर करना है एरे के अंदर उसके बाद आपका वेरिएबल का नेम आएगा जो भी आपको बनाना है उसके बाद यहां पर देख रहे हो ये दिस इज कॉल्ड स्क्वायर ब्रैकेट्स यह स्क्वायर ब्रैकेट्स आप लगाते हैं तो जावा समझ जाता है कि अच्छा यहां पे ये एरे बनाना चाहते हैं तो स्क्वायर ब्रैकेट्स लगाते हैं तो एरे बन जाता है अब आप इसको इस तरीके से लिख सकते हो कि इंट उसके बाद एरे का नाम वेरिएबल का नाम उसके बाद आपने स्क्वायर ब्रैकेट आगे लगा दिया या फिर आप ऐसे भी कर सकते हो कि इंट उसके बाद आपने स्क्वायर ब्रैकेट लगा दिया कि आप इंट का एरे बना रहे हो और उसके बाद आपने वेरिएबल का नाम लिख दिया दोनों ही तरीके वैलिड हैं दोनों में से किसी भी तरीके को यूज़ कर सकते हो मोस्टली आपको क्या करना चाहिए कि एक तरीका अपना लो और उसी तरीके को फॉलो करते रहो पूरी जिंदगी भर ठीक है बार-बार कंफ्यूज नहीं होंगे उससे और कंसिस्टेंसी रहेगी आपके कोड के अंदर तो आप इसमें से मैं तो यूजुअली ये ऊपर वाला जो तरीका है ना यह यूज़ कर रहा होता हूं तो एक बार जब आपने एरे इस तरीके से डिक्लेयर कर दिया कि ठीक है मेरे पास इस नाम का एक एरे बनेगा तो आपको बताना पड़ेगा अभी यहां पर कुछ भी मेमोरी के अंदर स्पेस एलोकेट नहीं हुआ है आपको अगर स्पेस एलोकेट करना है तो बताना पड़ता है पहले से ही जावा के अंदर कि कितने साइज का एरर रहने वाला है मैंने बता दिया मेरा 20 साइज का एर रहने वाला है तो ये तरीका होता है एरे को डिक्लेयर करने के बाद मेमोरी एलोकेट करने के लिए ठीक है आप इस तरीके से मेमोरी एलोकेट कर रहे हो कि आपने बता दिया कि 20 इंट्स का डाटा आप 20 इंट्स का डाटा आप हमारे लिए एलोकेट कर दो फिक्स कर दो रिजर्व कर दो मेमोरी के अंदर ये हम यूज करेंगे कभी ना कभी इस मेमोरी के अंदर कभी कुछ और मत डाल देना क्योंकि ये हमारे लिए लोकेट हो गई मेमोरी ठीक है अब ये लोकेट कैसे होती है किस तरीके से काम करती है वो हम समझेंगे लेकिन एक बार जावा के अंदर आते हैं और थोड़ा सा कोड करते हैं कोड करने के बाद ना थोड़ा सा एक्चुअल फील आते है कि हां ठीक है इस तरीके से चीजें काम करर है राइट तो यहां पर मैं बना देता हूं एक अरेज नाम का पैकेज पैकेज नेम हमेशा आपको स्मॉल से स्टार्ट करना है स्मल केस कैरेक्टर से अगर कैपिटल से स्टार्ट करोगे तो यह वैसे आपको वार्निंग दे देगा वार्निंग नहीं दी इसने वार्निंग नहीं दी लेकिन कोई दिक्कत नहीं है हम इसको फिर भी रिनेम करेंगे ठीक है रिफ्रैक्टर नेम एंड लेट्स नेम इट एस ठीक है कुछ कुछ तरीके होते हैं कुछ रूल होते हैं कुछ रेगुलेशन होते जिनको फॉलो करना चाहिए राट तो पैकेज के नेम जोते व स्मल केस कक्ट से स्टार्ट होते हैं उसके बाद हम इसके अंदर बनाएंगे बेसिक ऑफ एरे और इसके बाद यह सारी फाइल्स में य पर हटा देता हूं पब्लिक स्टैटिक वॉइड मीन और यहां पर अपना काम करते हैं ठीक है तो सबसे पहले हमने देखा एरे हमें डिक्लेयर करना है डिक्लेयर करने के लिए आपको कुछ नहीं करना सपोज करो मैं एज स्टोर करने वाला हूं कुछ बच्चों की ठीक है तो इंट एज उसके बाद आपने स्क्वायर ब्रैकेट लगा दिया एंड दैट्ची है अभी कितने एज कितनी एज स्टोर करने वाली ये हमने कुछ नहीं बताया तो इसने क्या किया बस एज नाम का वेरिएबल एक स्टैक मेमोरी में स्टोर कर लिया इसने लेकिन अ प्रॉपर स्पेस एलोकेट नहीं किया है एज का ठीक है बस एक मेमोरी में बता दिया कि ठीक है यह एज ना नाम का कुछ बनाना चाहता है लेकिन कितनी एज क्या एज कुछ नहीं बताया इसने अभी तक डाटा नहीं बताया तो बस आप वेरिएबल स्टोर करो ठीक है आप बस ये एज नाम का वेरिएबल स्टोर करो मेमोरी के अंदर लेकिन इसके अंदर क्या स्टोर होने वाला है वो अभी मत स्टोर करो ठीक है ठीक है क्योंकि अभी सिर्फ हमने डिक्लेयर किया अब इसके बाद हम मेमोरी एलोकेट करेंगे मेमोरी एलोकेट करने के लिए हम यहां पे अगली लाइन में आ लिखेंगे एज इक्वल टू न्यू इंट और यहां पर मैं बताऊंगा लेट्स से पांच बच्चे हैं ठीक है तो पांच बच्चों की एज में इस तरीके से स्टोर कर पाऊंगा तो यह वाली लाइन जो है हमारी यह है डिक्लेरेशन और यह वाली लाइन में हमारी एलोकेशन ठीक है हमारी पास मेमोरी एलोकेट हो गई है तो इस तरीके से आप लोगों ने डिक्लेरेशन किया एलोकेशन किया आप चाहो तो इन दोनों चीजों को एक लाइन में भी कर सकते हो भैया एक लाइन में कैसे करेंगे तो इस तरीके से कर सकते हो इंट एज इक्वल टू न्यू इंट और लेट्स से अगेन पांच बच्चों की तो यहां पे ये वार्निंग दे रहा है एरर दे रहा है एक्चुअली वो इसलिए क्योंकि आपने एज ऑलरेडी बना रखा है तो इसको हम कमेंट कर देते हैं तो यहां पर आप देख रहे हो डिक्लेरेशन एलोकेशन आपने अलग-अलग लाइन में किया इस जगह पे हमने एक ही लाइन में दोनों चीजें कर दिया हमने एज नाम का वेरिएबल बना दिया जो कि एक एरे है इंट का एरे है और साथ में यह बता दिया कि इसके अंदर पांच ही अ नंबर्स आ सकते हैं पांच बार ही नंबर्स डाल सकते हो आप तो इस तरीके से आप लोगों के एरे बन रहे होते हैं अब इसके अंदर अगली बात आती है कि आप इसे एक्सेस कैसे करोगे इसके अंदर चीजें कैसे डालोगे ठीक है तो चीजें डालने के लिए आप इसको मैं जो मैंने बताया था आपको पहले कि इसके अंदर आप लोगों की जो इंडेक्सिंग होती है वो आपकी जीरो से स्टार्ट होती है दिस इज कॉल्ड इंडेक्सिंग ठीक है तो मैं मैंने अगर पांच बच्चों का एज बनाया है दोबारा बनाता यहां पर और आप देखोगे कि अगर मैंने पांच बच्चों का बनाया है और यहां पर इंडेक्स कर देता हूं 0 वट 3 फर हमें पता है इसकी लेंथ क्या है लेंथ है फ मतलब इसके अंदर हमने पांच चीज स्टोर करी राइट और हमने बनाया कैसे इसको इस तरीके से यस पाच रखा और बना दिया और यह हमारा ए है राइट ये हमारा एज है तो बेसिकली एज नाम का जो वेरिएबल है ये क्या करता है ये एज नाम का वेरिएबल जो है पहली पोजीशन जो होता है ना उसको पॉइंट कर रहा होता है जैसे आप यहां पर देखो आपने सिर्फ एक इंट बनाया है ठीक है यहां पे आपने एरे नहीं बनाया तो आपने यहां पे क्या जब एज 23 लिखा था तो ये मेमोरी के अंदर सीधा 23 वाली लोकेशन को पॉइंट कर रहा होता है राइट एक ही चीज को पॉइंट कर रहा होता है ये मेमोरी में बताता है कि एज जो है वो 23 वाली जगह पर रखा हुआ है ये हमने बहुत पहले वेरिएबल पढ़ते टाइम देख लिया था लेकिन यहां पर क्या होता है यहां पर भी आपने एक ही वेरिएबल बनाया यहां पे आपने बहुत सारे वेरिएबल तो बनाए नहीं है एज वन एज टू वगैरह ये सब तो बनाए नहीं है आपने सिर्फ एक ही चीज बनाई है तो ये क्या करता है ये सिर्फ पहली जगह को पॉइंट करता है इस जगह को मतलब अगर आप कहीं बोलोगे भाई एज कहां पर स्टोर कर रखा है आपने डाटा को तो ये बता देगा भाई पहला डाटा जो है ना वो इस जगह पर स्टोर्ड है अब इसका जो मेमोरी में कुछ नंबर हो सकता है फॉर एग्जांपल सपोज करो ये नंबर है 21 32 कि भैया ये 2132 वाली जगह पे ये पहला डाटा स्टोर्ड है तो आप बोलोगे ठीक है तो अब मुझे बाकी चीजें एक्सेस करनी तो वो कैसे करूंगा तो बोलेगा सुनो आपने मुझे तो बता दियाना कि मैं कहां पर हूं और मुझे यह पता है कि सब के सब जो है वो चार-चार लेंथ के हैं यह कैसे पता है क्योंकि यह आपने शुरुआत में बता दिया था कि आप एक इंट टाइप का एरे बनाना चाहते हो तो मुझे पता है सब के सब चार चार बाइट के हैं और अगर मुझे पहली वाली बाइट की लोकेशन पता है तो मैं अगली वाली बाइट की किसी भी बाइट की लोकेशन आराम से कैलकुलेट कर सकता हूं छोटी सी मैथ लगानी है मेरे को ठीक है तो सपोज करो इसके अंदर मैं डटा डालता हूं 5 2 12 23 16 इस तरीके से मैंने डाटा डाल दिया अब मुझे अगर डाटा नंबर यह वाला थ्री वाला डाटा एक्सेस करना है याद रखना ये ्र डाटा जो है वो एक्चुअली में लिस्ट में फोर्थ नंबर पर आता है राइट ह्यूमन रीडेबल फॉर्म में वो फोर्थ नंबर पर आता है कि हम बोलेंगे पहला फर्स्ट सेकंड थर्ड फोथ राइट लेकिन एरे के अंदर जो इंडेक्सिंग होती है वो जीरो से स्टार्ट होती है दिस इज कॉल्ड अगेन मैं बोल रहा हूं ये होती है इंडेक्सिंग कि एरे जीरो बेस्ड इंडेक्स होता है ठीक है जीरो बेस्ड इंडेक्स होता है इसका मतलब जीरो से स्टार्ट होती है इसके अंदर ये तो अगर आपको कुछ भी चीज एक्सेस करनी है अगर सपोज करो थर्ड नंबर वाली पोजीशन एक्सेस करनी है तो आप ऐसे एक्सेस करोगे एज उसका बाद स्क्वायर ब्रैकेट के अंदर आप डालोगे थ्री ऐसे इसके अंदर सपोज कर आपको 23 स्टोर करना था तो आप इस तरीके से 23 स्टोर कर सकते हो तो ए 3 के अंदर 23 चला गया है शुरुआत में ज आपने बनाया था सिंपल आपने बनाया था तो सबके अंदर शुरुआत में बाय डिफॉल्ट इंड के अंदर बाय डिफॉल्ट क्या स्टोर होता है जावा के अंदर जीरो ठीक है इं के अंदर बाय डिफॉल्ट जीरो स्टोर होता है फ्लोट के अंदर 0.0 स्टोर होता है बुलियन के अंदर आपका बाय डिफॉल्ट फॉल्स स्टोर होता है सिमिलरली इंट के अंदर बाय डिफॉल्ट आपका जीरो स्टोर होता है तो इंट का एरे बनाया तो सब जगह पे जीरो स्टोर था शुरुआत में उसके बाद आपने थ्री वाली पोजीशन पे आपने 23 डाल दिया तो इस तरीके से आप 23 एक्सेस कर पा रहे हो सेम चीज जरा देखते हैं किस तरीके से काम करती है अभी ये मेमोरी वाली जो चीज है ना मैं एक बार दोबारा बताऊंगा आपको लेकिन एक बार जरा कोड में समझते हैं इसको पहले तो अ एज ऑफ लेट्स से जीरो इक्वल्स टू मैंने कर दिया फाइव इसका मतलब मैंने बता दिया कि पहली पोजीशन पे पहली वाली पोजीशन ये वाली इस जगह प मैंने फाइव को रखा हुआ है अगली पोजीशन पे मुझे टू को रखना है राइट तो मैं बताऊंगा एज वन = टू 2 इस तरीके से अब एक काम करते जरा प्रिंट करके देख लेते हैं इन चीजों को तो ऐसा आउट करूंगा मैं एस आउट और एज जीरो अगर आपको किसी चीज को प्रिंट कराना है तो उसके लिए आप इस तरीके से प्रिंट कराते हो उसको ठीक है सेम चीज मैं रिपीट करता हूं ए जीरो यह है एज वन ये है एज टू भी मैं प्रिंट करा के देखता हूं कि क्या प्रिंट होता है ठीक है तो एक बार इसे चलाते हैं जरा और चलाने के लिए रन और आप देखोगे फाइव प्रिंट किया इसने पहले क्योंकि a जीरो प तो फाइ रखा है वन पर टू रखा है लेकिन उसके बाद इसने जीरो प्रिंट किया अब आप बोलोगे जीरो कहां से प्रिंट कर दिया इसने तो जो मैंने आपको बताया था अगेन कि डिफॉल्ट वैल्यू है ठीक है ये की डिफॉल्ट वैल्यू है राइट ये इसकी डिफॉल्ट वैल्यू है आपको पता है कि जो एरे बना है यहां पर ये आपका पास साइज का बना है शुरुआत में पा सा इसका बना है 0 1 2 3 4 और शुरुआत में सब जगह पर जीरो स्टोर था यहां भी जीरो यहां भी जीरो यहां भी जीरो यहां भी जीरो यहां भी जीरो अब आपने एक जीरो पर डाल दिया फ तो मतलब इस जगह पर आपने डाल दिया फाइ तो इस जगह पर आपने फाइव डाल दिया है इसको मैं हटाता हूं यहां से इस इस जगह पे आपने फाइव डाल दिया है सिमिलरली इस जगह पे आपने क्या डाल दिया इस जगह पे डाल दिया आपने टू लेकिन इस जगह पे तो अभी भी रो पड़ा हुआ है तो जब आप ये प्रिंट करा रहे हो तो आपका फाइव प्रिंट हो रहा है आप ये प्रिंट करा रहे हो वन वाली पोजीशन पे तो आपका टू प्रिंट हो रहा है लेकिन जब आप ये प्रिंट करा रहे हो सेकंड वाली पोजीशन पे तो आपका अभी भी जीरो रखा हुआ है इसलिए आपका यहां पे रो प्रिंट हो रहा है ये बात क्लियर है कि बाय डिफॉल्ट सब जगह जरो स्टोर्ड है तो इस तरीके से आप लोगों का एरे काम करते है आई थिंक समझ में आ रहे होंगे और इस तरीके से आप लोग चीजें एक्सेस कर पा रहे हो अब लेकिन एक क्वेश्चन अभी भी अन आंसर्ड है कि ये एज ये जावा अपने आप कैसे पता लगा ले रहा है कि थर्ड पोजीशन पे क्या है तो ये कमाल है कंटीन्यूअस मेमोरी में एलोकेट करने की वजह से ठीक है क्योंकि आप डाटा जो है वो कंटीन्यूअस फैशन में एलोकेट कर रहे हो यहां पे ठीक है कंटस फशन मतलब एक के बाद एक के बाद एक के बाद एक इसका मतलब अगर कोई चीज यहां पे 2132 प स्टोर्ड है तो अगली चीज यहां पर 21 32 + 4 व्हिच इज लेट्स से अ 21 36 तो ये 21 36 पे स्टोर्ड होगा ये आपका स्टोर होगा 2140 पे ये आपका स्टोर होगा 2144 पे या स्टोर होगा 21 4 8 पे इस तरीके से क्योंकि सब के सब चार-चार साइज के हैं ये बस मैं आपको बता रहा हूं समझाने के लिए एक्चुअली मेमोरी में पता नहीं कैसे होता है ठीक है वो शायद बिट लेवल पे करते हैं या फिर जो भी उन्होंने हैक्स कोड वगैरह बना रखे हैं मेमोरी के उनका अलग ही काम होता है लेकिन इस तरीके से डाटा आपका कंटीन्यूअस फशन में ये तो गारंटीड है कि कंटस फशन में स्टोर्ड है तो अगर आप लोगों को बताना है कि ए थ की वैल्यू क्या होगी तो मुझे पता है रो कहां पर स्टोर्ड है राइट मुझे रो का एड्रेस पता है तो एड्रेस ऑफ रो एड्रेस ऑफ रो प्लस कौन सी इंडेक्स आप पता लगाना चाहते हो इंडेक्स मल्टीप्लाई बाय साइज यह फर्मूला होता है आप लोगों का ठीक है दिस इज द फार्मूला इस फर्मूला से आप किसी भी जगह को पता लगा सकते हो फर एपल अगर आपको थर्ड का पता लगाना है तो एड्रेस ऑफ जीरो कितना है तो वो है 21 32 प्लस करना है इंडेक्स कौन सी इंडेक्स पता लगानी है तो थर्ड इंडेक्स पता लगानी है मल्टीप्लाई बाय साइज कितना है इंट का तो इंट का साइज फो ऐड कर दो तो 3 4 12 होता है 12 आप इसमें ऐड करोगे तो बन जाएगा आपका 21 44 और यह देखो आपका 2144 2144 प आपका 23 है तो इस तरीके से ये इंटरनली कैलकुलेशन कर लेता है जावा ठीक है एरे बनाते टाइम इंटरनली कैलकुलेशन हो जाती है क्योंकि सब के सब लाइन से स्टोर्ड है तो इसी वजह से ये चाहे आप थर्ड पोजीशन का पता लगाना चाहो डाटा चाहे आप 100 पोजीशन का पता लगाना चाहो डाटा आप इजीली पता लगा सकते हो क्योंकि सब कुछ कस फशन में स्टोर्ड है तो आई थिंक अभी आपको एरे समझ में आ गया होगा अगर अभी भी समझ में नहीं आया तो एक बार दोबारा देखना इसको ठीक है फिर भी समझ में आया तो एक बार आप पूछ लेना नाम से आप लोगों की हेल्प की जाएगी ठीक है लेकिन एरे इस तरीके से क्रिएट होते हैं इस तरीके से आप लोगों का डिक्लेयर किए जाते हैं इस तरीके से आप लोगों का मेमोरी एलोकेट की जाती है जब आप मेमोरी एलोकेट कर देते हो एक बार एरे के अंदर तो उसके बाद आप लोग एरे की मेमोरी को चेंज नहीं कर सकते हो तो अगला कांसेप्ट ये समझेंगे कि एक बार जब आपने एरे बना दिया जावा के अंदर आपने बोल दिया सुनो भाई एरे जो है वो पांच लेंथ का हुआ या फिर जैसे यहां पे बता दिया एरे जो है वो 20 लेंथ का है तो उसके बाद 20 लेंथ की मेमोरी आप लोगों के लिए एलोकेट हो जाएगी उसके बाद आपका मन करे कि नहीं यार क्लास में एक 21वां बच्चा भी आ गया है तो मुझे एक बढ़ानी है मेमोरी या फिर पांच बच्चे ऐड हो गए तो पांच मेमोरी बढ़ानी है आप नहीं कर सकते जावा के अंदर आपको क्या करना पड़ेगा तब आपको एक नया एरे बनाना पड़ेगा जो कि 21 लेंथ का या फिर 25 लेंथ का होगा उसके अंदर पिछले एरे के डाटा को कॉपी करना पड़ेगा और साथ में नए बच्चों को फिर ऐड करना पड़ेगा एंड में समझ में आ रही हो एरे एक बार आप लोगों ने जिस साइज का डिक्लेयर कर दिया एरे आप लोगों ने जिस साइज का एलोकेट कर दिया 20 साइज का जो एलोकेट कर दिया तो उतने ही साइज का एरे बन जाएगा मेमोरी के अंदर उसके बाद आपको उसके साइज को चेंज नहीं कर सकते इसलिए कहते हैं कि जावा के अंदर एरे जो होते हो आपके स्टैटिक साइज होते हैं फिक्स साइज के होते हैं तो आप बोलो भैया ऐसे मुझे फिक्स साइज में तो मजा नहीं आता मुझे तो वेरिएबल साइज एरे चाहिए तो वो हम पढ़ेंगे अभी जब हम कलेक्शन फ्रेम वर्क की बात करेंगे होगे तो हम बात करेंगे एक अ लिंक लिस्ट की एरे लिस्ट की तो इसके अंदर आप लोगों के अ वेरिएबल साइज की चीजें होती है ठीक है तो वो सब हम बाद में देखेंगे लेकिन फिलहाल अभी हम समझ लेते हैं कि एक बार आपने जो एरे बना दिया पांच साइज का एरे बना दिया तो इसकी लेंथ पांच हो जाएगी ये लेंथ आप लोग कैसे एक्सेस कर सकते हो जावा के अंदर जरा समझते हैं तो अगर आप लोगों को बताना है बाद में कभी कि एरे की लेंथ कितनी है अगर आपको कभी एरे की लेंथ प्रिंट करानी है तो कैसे प्रिंट कराओ उसके लिए आप लिखोगे एरे का नाम उसके बाद आप लगाओगे एक डॉट ठीक है ये डॉट बड़े कमाल का होता है डॉट लगाते हमें यहां पर काफी सारी चीजें दिखती है तो बेसिकली करना क्या है ये स्ट्रीम वगैरह जो इसके अंदर डाल रखे हैं ये तो हम बाद में पढ़ेंगे कभी ठीक है स्ट्रीम एक नया आ गया है आपका लेकिन इसके अलावा लेंथ जो देख रहे हो ये लेंथ ये आपका रिटर्न करता है इंट इसको जरा क्लिक करते हैं या तो आप क्लिक कर सकते थे ऐसे या फिर एज डॉट लेंथ भी यहां पर लिख सकते थे उससे भी आपका ए डॉट लेंथ आ जाएगा ये बेसिकली आपको बताता है कि इस एरे की लेंथ कितनी है इस एरे के अंदर कितने एलिमेंट आ सकते हैं इस एरे को कितना साइज एलोकेट हो रखा है इसको रन करते हैं तो आपको पता है यहां पे पांच प्रिंट होने वाला है ठीक है ये ऊपर वाले तो इसके एरे के नंबर्स हैं जो आपने यहां प्रिंट किया है उसके बाद एंड में आपका एरे का साइज प्रिंट हुआ है तो दिस इज हाउ यू अ इनिश इज एंड डिक्लेयर योर एरे एंड दिस इज हाउ यू यूज योर एरे दिस इज हाउ यू चेंज डाटा इन योर एरे इसके अंदर अभी कुछ और कलकल चीजें देखेंगे तो एरे के कांसेप्ट और ज्यादा क्लियर हो रहे होंगे कि एरे रियल वर्ल्ड में कैसे यूज होता है ठीक है वो भी हम देखेंगे लेकिन एक और कांसेप्ट होता है व्हिच इज कॉल्ड इनिश इजेशन ऑफ एरे कि आप एरे को डायरेक्टली इनिश इज भी कर सकते हो जैसे आप लोगों ने देखा ना यहां पर यहां पर आप किसी एक पर्टिकुलर वेरिएबल को इलाज करते हो इसी तरीके से आप चाहो तो एरे को भी शुरुआत में इनिला कर सकते हो अगर आप लोगों को पहले से ही पता है कि मेरी क्लास में पांच बच्चे इनकी एज ये रहने वाली है तो आप सीधा उनको इनिला ही कर सकते हो चाहो तो आपको पता है कि पांच ही बच्चे और उनकी एज क्या है तो आप बजाय यह करने के आप उनकी एज को इलाज भी कर सकते हो तो एक काम करते ए का एग्जांपल नहीं लेता मैं एग्जांपल चेंज करते हैं फिर एपल लेट से मार्क्सस ठीक है मुझे मार्क्स स्टोर करने है बच्चों के तो आप ऐसे कर सकते हो इंट मार्क्स और आपको बताना पड़ेगा कि ये एरे है तो यह तो आपको बताना ही पड़ेगा ठीक है दिस इ आ यू डिक्लेयर तो आपने डिक्लेयर कर दिया उसके बास इनिला करना है तो इलाज करने के लिए इक्वल टू लगा के और आप अब आप न्यू लगाओ न्यू नहीं लगाओगे इसके बाद आप लगाओगे ये कर्ली ब्रेसस और कर्ली ब्रेसस में आप बता दोगे नंबर्स जो इनकी जो भी इनके मार्क्स रहने वाले ठीक है सपोज करो मेरे पास पांच स्टूडेंट्स है और पांच स्टूडेंट्स के नाम ये है मार्क्स ये है 98 12 45 12 65 इस तरीके से तो मैंने एक मार्क्स नाम का एरे बना दिया जिसके अंदर यह बच्चे स्टोर्ड है ठीक है बच्चों के मार्क्स स्टोर्ड है इस तरीके से और इसको आप लोग यूज कर सकते हो यहां पर यूज करने के लिए सपोज करो कोभी आपको प्रिंट करना है मार्क्स ऑफ लेट्स से जीरो पोजीशन वाले के मार्क्स कितने है तो बताओ मुझे जीरो पोजीशन पर कौन है जीरो पोजीशन पर ये 98 है राइट तो यहां पर सिर्फ 98 प्रिंट होने वाला है इसको रन करते हैं तो यहां पर 98 प्रिंट हो रहा है राइट आपको अगर प्रिंट करना है वन तो आपको अब पता है क्या प्रिंट होने वाला है अब आपका 12 प्रिंट होगा इस तरीके से आपको अगर प्रिंट करना है सपोज करो तो यह आपका होता है 0 1 2 3 4 तो अब एक चीज़ और पढ़ लेते हैं कि भैया फोर के बाद वाली चीज़ अगर प्रिंट करने का ट्राई करूंगा तो क्या होगा अब मैं आपको बोल रहा हूं कि आपके पास ना ₹ हैं मैं आपसे अगर ₹ मांगूंगा तो आप क्या करोगे परेशान हो जाओगे राइट आपसे अगर मैं ₹10 मांग रहा हूं आपके पास ₹ ही आपके पास ₹ ही हैं तो कैसे कर लोगे नहीं कर सकते राइट सिमिलर चीज़ यहां पे आपके पास पांच स्टूडेंट रखने की जगह है मैं आपसे छठा स्टूडेंट मांग लेता हूं तो कैसे कर पाओगे नहीं कर सकते राइट तो सिमिलरली अगर यहां पे आप मैं आपको बोलता हूं कि लेट्स से एरे मार्क्स के अंदर मैं एट लिख देता हूं यहां पे कि मुझे तो एट इंडेक्स में जो बच्चा है उसके मार्क्स बताओ कितने हैं तो ओबवियसली नहीं बता सकते हैं तो यहां पे क्या होने वाला है भैया तो यहां पे आपको मिलेगा एक एक्सेप्शन एक्सेप्शन हम पढ़ेंगे आगे लेकिन एक्सेप्शन बेसिकली जावा का एक तरीका होता है आपको बताने का कि कुछ तो दिक्कत हुई है कुछ तो एरर आया है यहां पर आप पढ़ सकते हो एक्सेप्शन इन थ्रेड मेन और एक्सेप्शन का नाम क्या है एक्सेप्शन का नाम है एरे इंडेक्स आउट ऑफ बाउंड एक्सेप्शन यह बता रहा है कि यह वाली दिक्कत आ गई है आपके कोड के अंदर इस दिक्कत को ठीक कर लो ठीक है तो यह आपका बता रहा है और उसके साथ में य आपको एक मैसेज भी दे रहा है कि इंडेक्स 8 आउट ऑफ बाउंड फॉर लेंथ फ कि आपको लेंथ फाइव पता है आपके एरे की लेंथ फाइव है उसके अंदर आप एथ पोजीशन का इंडेक्स इंडेक्स का आप डाटा रिट्रीव करने का ट्राई कर रहे थे इसकी वजह से हमने आपको एरर दे दिया है किस जगह पर एरर दिया है तो यह आपको लाइन भी बता रहा है लाइन नंबर 21 इस पर क्लिक करोगे तो आप सीधा लाइन नंबर 21 प भी पहुंच जाओगे ठीक है भले किसी भी लाइन प हो आप इस पर क्लिक करोगे लाइन नंबर 21 प आप आ जाओगे यह दिक्कत कहता है ये दिक्कत ठीक कर लो यहां पे और हमारे कंपाइलर ने आपका इंटेलिजेंट ने आपको पहले से हिंट भी दे दिया है एरे इंडेक्स इज आउट ऑफ बाउंड से पहले ही बता रहा है कि भाई क्या कर रहे हो यार ये तो दिक्कत है यहां पे इसको ठीक कर लो ठीक है तो यहां पे हम रो से लेकर 1 2 3 4 0 1 2 3 4 बस यही चीजें डाल सकते हैं यही नंबर्स डाल सकते हैं क्योंकि हमारे एरे का जो साइज है वो फाइव तक है तो रो से लेकर फोर तक की इंडेक्स ही सपोर्टेड होंगी इसके अंदर आप यहां पर फोर डालो तो फोर डालोगे तो 65 आपको मिलेगा ठीक है फोर डालोगे तो देखो यहां पे कोई वार्निंग भी नहीं आई और यहां पर 65 भी आपको मिल रहा है लेकिन इससे बड़ा डालोगे तो आपको मिलेगा एरे इंडेक्स आटो बाउंड एक्सेप्शन ये सिंपल था ठीक है क्लियर इसके बाद अगली चीज हम देखते हैं व्हिच इज कॉल्ड अ इटरेटिंग इन एन एरे और यहां पर फॉर ईच लूप एक नया कांसेप्ट है जो हम समझ रहे होंगे बेसिकली अगर आप लोगों को एरे के अंदर पूरे एरे के अंदर इटरेट करना है अभी हम क्या कर रहे हैं अभी हम ये सब कर रहे हैं ठीक है जुगाड़ लगा रहे हैं 0 1 2 इस तरीके से कभी आपको पूरे के पूरे एरे के अंदर जितने भी लोग हैं सपोज करो आप नेम स्टोर कर रहे हो राइट यहां पर मैंने मार्क स्टोर कर लिया इंट वगैरह तो आपने देख ही लिया लेकिन सिर्फ इंट ही नहीं यार यहां पर पे आप कोई भी डेटा टाइप बताओ और उस टाइप का डाटा स्टोर कर लो सपोज करो मैं नेम स्टोर कर रहा हूं और सारे के सारे नेम्स के अंदर मुझे एक बार इटरेट कर रहे हैं ठीक है अ नेम्स के लिए स्ट्रिंग बनेगा यहां पे स्ट्रिंग को हम पढ़ेंगे नेक्स्ट क्लास के अंदर पहले हम पहले फंक्शन की बात कर लेते हैं फंक्शन क्या होगा उसके बाद हम स्ट्रिंग भी पढ़ रहे होंगे लेकिन स्ट्रिंग का एरे बनाना है सपोज करो नेम्स नाम का एरे है और उसके अंदर मैंने बहुत सारे नेम्स स्टोर कर रखे हैं ठीक है तो यहां पर मैंने चार बच्चों के नेम स्टोर कर रखे हैं और मुझे एक-एक करके ऐसे प्रिंट नहीं करने मुझे तो लूप लगाने है इनके अंदर क्योंकि हमने पढ़ा है भैया लूप तो बड़े काम का होता है लूप के अंदर ऐसे रिपीट टिव काम जो है बड़े आराम से हो जाते हैं ठीक है बार-बार आपको रिपीट नहीं करनी पड़ती चीजें ऑटोमेट हो जाती है ठीक है ऑप्टिमाइज हो जाती है ऑटोमेट तो नहीं ऑप्टिमाइज हो जाती है तो ऐसा कुछ करना है तो कैसे कर सकते हैं तो नॉर्मल फॉर लूप तो आप लगा ही सकते हो फॉर लूप लगाने के लिए क्या करना होता है फॉर आई हिट टैब फॉर इंट i = 0 कितनी बार ये लूप चलना चाहिए तो जब तक एरे के एलिमेंट खत्म ना हो जाए तब तक लूप चलना चाहिए ठीक है हमें सारे के सारे एरे के एलिमेंट प्रिंट करने हैं तो जब तक एरे के अंदर सारे एलिमेंट कवर ना हो जाए तब तक लूप चला दो तो इसका मतलब हमें लूप चलाना पड़ेगा जितनी इस एरे की लेंथ है लेंथ कैसे निकलती है मैंने आपको बताया था नेम्स डॉट लेंथ करके ठीक है नेम्स डॉट लेंथ करके हमारी लेंथ निकल गई उसके बाद अगर आपको ये प्रिंट करने है सारे सारे नेम्स अगर आपको प्रिंट करने है सपोज करो कि नेम इज उसके बाद प्लस लगा के मैं यहां पे लिखूंगा नेम्स ठीक है ये नेम्स एक्सेस करने के लिए क्या करते हैं यहां पर नेम्स जीरो नेम्स वन नेम्स टू इस तरीके से लिखते राइट नेम रो लिखोगे तो नेम रो प्रिंट हो जाएगा अभी मैं चलाऊंगा इसको तो सिर्फ हमारा जीरो पोजीशन पर जो नेम है व्हिच इज राम यही आप लोगों का चार बार प्रिंट हो जाने वाला है ठीक है देखो रन करता हूं से तो यह नेम इज राम नेम इज राम चार बार प्रिंट हो गया क्यों क्योंकि मैं जीरो वाले नेम को बारबार प्रिंट करा रहा हूं अगर मैं यहां पर जीरो की जगह कर दूंगा वन तो अब वन वाला नेम जो है जो कि है हरीश यह चार बार प्रिंट होने वाला है आप बोलोगे नहीं भैया मुझे तो सबके नाम प्रिंट कराने हैं तो मैं बोलूंगा देखो आपकी जो आ की वैल्यू है वो जीरो से लेकर फोर तक जाने वाले सॉरी थ तक जाने वाले है 01 2 3 ठीक है ये आई का जो लूप है आपका लेस दन फोर तक चलेगा ्र लेसन फोर तो तब तक चलने वाला है ये तो यहां पर आप आई डाल सकते हो इस तरीके से आपने यहां पर आई डाल दिया तो अब क्या होगा आपके जो जितने भी नेम्स है पहले नेम जीरो फिर नेम वन फिर नेम टू फिर नेम थी इस तरीके से प्रिंट होने वाला है रन करते हैं तो आप देखोगे नेम जीरो क्या है नेम जीरो है राम नेम वन क्या है हरीश नेम टू क्या है करण उसके बाद नेम थ क्यामटी और आपका लूप खत्म हो गया तो इस तरीके से आप ग्रेसफुली इटरेट कर पाते हो एक एरे के अंदर इसके बाद आप इसके अंदर कुछ भी कर सकते हो जैसे मैंने यहां पर लिखा है नेम इस करके मैंने यहां पर चीज अपेंड कर दिया राइट उसके बाद आप कुछ भी कर सकते हो क्योंकि आप एरे के अंदर आराम से इटरेट कर पा रहे हो लेकिन एक ये तो नॉर्मल फॉर लूप हो गया लेकिन जो मैंने आपको बताया था एक कांसेप्ट होता फॉर ईच लूप का भी जरा ये समझ लेते हैं तो फॉर ईच लूप आपका मोस्टली एरे के अंदर लगता है ठीक है एरे के अंदर आप लगाते हो इसको बेसिकली इटरेबल इटरेबल जो चीजें होती है उनके अंदर आप लगाते हो इटरेबल चीजें वो होती है जिनके अंदर आप इटरेट कर सकते हो ठीक है एरे इज वन ऑफ दोस थिंग्स जिसके अंदर आप इजली इटरेट कर सकते हो तो क्या करते हैं इसका सिंटेक्स ऐसा होता है पहले आप लगाते हो फोर और फोर के बाद आप लगाओगे इंट टाइप का एरे आपका तो इंट उसके बाद वेरिएबल नेम क्या देना चाहते हो आप उसको एक टेंपररी वेरिएबल नेम तो मैं नाम दे दूंगा उसको नेम क्योंकि मैं नेम रखने वाला हूं इसके अंदर राइट वेरिएबल नेम किसके अंदर इटरेट कर रहे हो नेम्स के अंदर इटरेट कर रहा हूं तो आप इस तरीके से इटरेट कर सकते हो और आपको हर इटरेशन के अंदर जो नाम होगा वो इसके अंदर मिल जाएगा इस वेरिएबल के अंदर तो आप यहां पर एस आउट कर सकते हो एस आउट लिख रहा हूं मैं यहां पर बेसिकली ये सिस्टम प्रिटल होना चाहिए लेकिन मैं यहां पर एस आउट लिख दे रहा हूं आपको समझ में आ जाना चाहिए एस आउट है एउ है सिस्टम प्रिटल ठीक है प्रिंट करने के लिए काम में आता है ये तो इस तरीके से आप फॉर ईच लूप बना सकते हो फॉर इच लूप के अंदर आप लोगों को आई एक वेरिएबल इंट आ इ 0 ये सब नहीं करना पड़ता ठीक है यह अपने आप ही आपका इटरेट कर देता पूरे के पूरे एरे के अंदर और ये एक ऑप्टिमाइज वे है अगर आप लोगों को पता है कि पूरे के पूरे एरे में इटरेट करना ही है तो दिस इज अ बेटर वे जो कि मैं ज्यादा यूज कर रहा हूंगा तो इसको अगर आपको करना है तो कैसे करोगे तो मैं यहां पर आता हूं लिखूंगा फॉर उसके बाद क्योंकि मेरा एरे जो है वो स्ट्रिंग टाइप का है एक सेकंड मैंने यहां इन लिख दिया राइट दिस इज रंग इन टाइप का नहीं है हमारा जो एरे है वो स्ट्रिंग टाइप का है तो मैं इसको हटाता हूं तो स्ट्रिंग लिखेंगे यहां पर तो जिस भी टाइप का आपका यह है जिस भी टाइप का आपका यह है उसी टाइप का आपको यहां पर वेरिएबल इनिला करना पड़ेगा सॉरी डिक्लेयर करना पड़ेगा तो यहां पर हम आएंगे फॉर ईच लूप के अंदर हमारा स्ट्रिंग टाइप का एरे है तो स्ट्रिंग नाम का एक वेरिएबल हम यहां पर डिक्लेयर कर देंगे कुछ भी नाम रख सकते हो मैं यहां पर नेम रख देता हूं यूजुअली होता क्या है कन्वेंशन ये होता है कि आप अगर एरे बना रहे हो तो एरे को आप बनाओगे प्लूरल नेम के साथ जैसे नेम्स बनाया हमने मार्क्स बनाया है वैसे एज को हमें एज नहीं बनाना चाहिए था एजस बनाना चाहिए था लेकिन ठीक है कोई दिक्कत नहीं है नेम्स बनाया है तो नेम्स के अंदर सिंगुलर क्या है नेम है तो आपने यहां पर सिंगुलर चीज रखी है और यहां पर आपने प्लूरल चीज लगा दी तो फॉर एवरी नेम इन नेम्स इसको आप इस तरीके से पढ़ सकते हो या फिर फॉर ईच नेम इन नेम्स डू दिस क्या करना है ये करना है कि फॉर ईच और यहां पर आप सिंपल लिखोगे नेम अब आप यहां पे नेम्स यूज नहीं करोगे अब आप यहां पर यह वाला वेरिएबल जो आपने बनाया ना नया वेरिएबल यह यूज करोगे और हर इटरेशन में इसकी वैल्यू चेंज होती रहेगी आप रन करके देखो क्या होने वाला है तो पहले तो ऊपर वाला लूप चल जाएगा एक बार ऊपर वाला लूप चल गया उसके बाद एक बार नीचे वाला लूप भी चल गया ये हमारा फॉर इच वाला लूप है इसको ज समझते हैं ठीक से कि फॉर इच वाले लूप के अंदर हो क्या रहा है भैया तो बहुत ही सिंपल है वैसे तो बहुत कुछ खतरनाक नहीं हो रहा यहां पर तो आप समझो कि आप लोगों का यह फ क्या करता है एक एक करके चलता है तो पहले तो यहां आएगा और नेम नाम दे देगा इसको बोल देगा कि नेम जो है वो नेम की वैल्यू है राम ठीक है नेम के अंदर राम आ चुका है तो अब आप इस नेम के साथ कुछ भी कर लो तो आप क्या करना चाहते हो आप तो बस प्रिंट करना चाहते हो तो आपने यहां पर राम प्रिंट कर दिया एक बार उसके बाद अगली इटरेशन में क्या होगा अगली इटरेशन में यहां से हट के यहां आ जाएगा तो नेम आ जाएगा अब यहां पर और यहां से अब जा चुका है नेम तो अब नेम की वैल्यू क्या अगली इटरेशन में नेम की वैल्यू हरीश हो चुकी है तो आप क्या करना चाहते हो अगेन प्रिंट करना चाहते चाहते हो तो ठीक है हरीश प्रिंट कर दो आप इस तरीके से आप सारे के सारे प्रिंट कर दोगे तो आप लोगों को ये फॉर लूप वगैरह बनाने की जरूरत नहीं है आप लोगों को ये लेंथ वगैरह करने की जरूरत नहीं है ठीक है ये सब करने की जरूरत नहीं है तो आप दोनों में से कुछ भी यूज़ कर सकते हो मैं मोस्टली ये यूज़ कर रहा हूंगा अगर मुझे पहले से पता है कि मुझे सारे के सारी वैल्यू में इटरेट करना है एक बार तो इट इज अ बेटर वे टू यूज अ फॉर ईच लूप ठीक है तो आप समझ में आ रहा होगा फॉर इच लूप पहले मैं नहीं समझा सकता था फॉर ईच लूप लूप्स के साथ बिकॉज़ इट मेक्स मच मोर सेंस विद अरेज तो एक बार अरेज की नॉलेज कंफर्म हो गई है तो हम फॉर इच लूप समझ सकते हैं एंड दिस इज हाउ फॉर इच लूप वर्क्स इसके अलावा फॉर लूप को हम आगे भी देख रहे होंगे कलेक्शन फ्रेमवर्क के अंदर जब हम कलेक्शन फ्रेमवर्क समझ रहे होंगे कि आप कैसे मल्टीपल कलेक्शंस के अंदर फॉर लगा सकते हो ठीक है तो दिस इज हाउ यू यूज फॉर लूप अब जरा कुछ एग्जांपल देखते हैं तो सपोज करो क्वेश्चन कुछ ऐसा है कि आप लोगों को मैंने कुछ नंबर्स दे रखे हैं और आपको उन नंबर्स का सम बताना है वो नंबर्स आप लोगों को अरेज में स्टोर करके दे रखे हैं तो आप लोगों को उनका सम बताना है तो बहुत ही सिंपल क्वेश्चन है बहुत खतरनाक नहीं है ठीक है एक काम करते हैं इसके लिए हम एक नई फाइल बना लेंगे और न्यू क्लास प्रॉब्लम्स ऑन एरे इसके अलावा काफी कुछ अभी हम और भी देखेंगे एरे के अंदर ठीक है लेकिन अभी फिलहाल बहुत बेसिक क्लास है य तो बेसिक की बात करने वाले हैं लेकिन एरे का यूज बहुत ज्यादा है यूज कर रहे होंगे इस प्रोग्राम के अंदर ठीक है सपोज करो आपको मैंने कुछ नंबर्स दे दिए इंट नंबर्स और इनको मैंने यहां पर इस तरीके से इलाज भी कर दिया सपोज यही नंबर आपके और आपको बताना है इन नंबर्स का सम तो कैसे बताओगे तो एक तरीका तो ये है कि ठीक है कैलकुलेटर में बैठ इनको जोड़ने और जोड़ दिया आप लोगों ने नहीं ऐसे नहीं बताना आप लोगों को प्रोग्राम लिखना है प्रॉपर इसका तो वो हम बना सकते हैं बड़े इजली वो हम बनाएंगे फॉर लूप की हेल्प से कैसे बनाएंगे एक पहले हम बनाएंगे इंट सम जिसको हम लाइज करेंगे जीरो से और इस सम के अंदर फाइनली आप देखोगे सभी नंबर्स का सम ऐड होके आने वाला है उसके बाद हम चलाएंगे फॉर ईच लूप फॉर एव्री नंबर फॉर इंट नंबर इन नंबर्स फॉर एवरी नंबर इन नंबर डू व्ट डू दिस सम प्लस इक्वल टू नंबर थोड़ा सा कॉम्प्लिकेटेड लग सकता है कि भैया क्या कर दिया आप लोगों ने लेकिन अभी समझेंगे इसको ठीक है अच्छे से उसके बाद आप इस नंबर को यहां पर प्रिंट कर सकते हो सम को तो सम इज यहां पर सम प्रन कर देते हैं इसको एक बार रन करते हैं तो आप देखोगे यह काम करेगा और यहां पर इसने सम 124 लाके दे दिया आप इन सबको सम करोगे तो 124 ही आने वाला है लेकिन भैया ये हुआ क्या या आपने यहां पर क्या कर दिया तो बहुत ही सिंपल चीज है बहुत ज्यादा कुछ खतरनाक हुआ नहीं यहां पर जरा समझेंगे ठीक से कि यहां पर हुआ क्या है सबसे पहले हमने यहां पर नंबर्स लिए एक सम नाम का वेरिएबल लिया है उसके बाद हम एकएक करके जा रहे हैं हर एक नंबर में तो शुरुआत में हम तो यहां पर है 23 पर तो हमारे सम के अंदर हमने क्या किया सम प्लस इक्वल टू नंबर इसका मतलब सम इक्वल टू सम प्लस नंबर राइट यह शॉर्ट हैंड तरीका होता है ये हम सबको पता है यह शॉर्ट हैंड तरीका होता है लिखने का सम इक्व सम प्लस नंबर इसका मतलब पहले आपने सम पहले जीरो था राइट तो 0 प्लस नंबर क्या है नंबर है 23 तो वैल्यू क्या आती है 23 तो आपके सम के अंदर 23 स्टोर हो गया पहली इटरेशन में आपके सम के अंदर 23 स्टोर हो गया अगली इटरेशन में यहां पहुंच जाएगा 12 प तो उसके बाद उस टाइम पर क्या होगा तो सम के अंदर ऑलरेडी क्या है सम के अंदर ऑलरेडी है 23 23 के अंदर आपने 12 ऐड कर दिया इस तरीके से अगली इटरेशन में तो आपका 23 प् 12 कितना हो गया 5 एंड 3 35 तोब आपके सम के अंदर 35 है सेकंड इटरेशन में उसके बाद वाले इटरेशन में आपका 35 में 6 ऐड हो जाएगा य हो जाएगा आपका 41 उसके बाद वा इटरेशन में आपका 41 में 7 ऐड हो जाएगा तो ये हो जाएगा आपका 48 इस तरीके से आप करते चलोगे तो फाइनली सम के अंदर स्टोर हो जाएगा आपका 124 और आपका फाइनली सम यहां पे 124 प्रिंट हो जाएगा ठीक है जो आपने यहां पे किया है इस तरीके से आप लोगों का सम वाला लूप काम कर रहा है सम वाला कोड काम कर रहा है तो ये मैंने लिखा है फॉर ईच लूप से आप एक बार ट्राई करो इसको फॉर नॉर्मल वाले लूप से ठीक है आई वाले लूप से एक बार ट्राई करके देखना कैसे काम करता है मैंने तो यहां पर फॉर इच लूप यूज़ किया है लेकिन नॉर्मल वाला नहीं होता जिसमें फॉर इंट आई 0 i ले नंबर्स डॉट लेंथ i प् प्स उस वाले लूप के ल से भी करने का ट्राई करना है इसको तो ये तो सिंपल था सम निकालने वाला अब सपोज करो मैं बोलता हूं आपको अगला क्वेश्चन कि ये जितने भी नंबर्स हैं इनमें से सबसे छोटा नंबर बताओ सबसे छोटा नंबर रिटर्न करो तो वो कैसे करोगे आप तो बहुत ही सिंपल है ये भी अगेन इसको हम कर सकते हैं फॉर इच लूप की हेल्प से तो ये तो सम निकालने वाला था इसको मैं कर देता हूं कमेंट हम सबसे छोटा नंबर निकालने वाला कोड करते हैं तो उसके लिए मैं अगेन एक वेरिएबल बनाऊंगा क्योंकि फाइनल आपको कुछ रिटर्न करना है राइट फाइनल आपको कुछ प्रिंट करना करना है तो उसको हम बाहर बना लेते हैं इस तरीके से तो पहले हमने सम बनाया यहां पे क्योंकि सम हमें प्रिंट करना है सम हमें रिटर्न करना है इस बार हमें मिनिमम नंबर रिटर्न करना है या फिर मिनिम नंबर प्रिंट करना है तो अगेन एक वेरिएबल बना लूंगा मैं जिसका नाम होगा मिन और इस मिन को मैं स्टार्ट कहां से करूंगा यह एक क्वेश्चन है इस मिन को मैं स्टार्ट कहां से करूं क्या मैं इस मिन को जीरो से स्टार्ट करूं अगर मैं इस मिन को रो से स्टार्ट करूंगा तो दिक्कत क्या होगी मैं आपको बताऊंगा चलो एक बार इस फिलहाल इस मिन को हम जीरो से स्टार्ट कर लेते हैं उसके बाद मैं बोलूंगा सुनो फॉर इच लूप लगाना है हमें ठीक है फॉर इच लूप के लिए एक और यह भी चीज है कि फॉर एवरी नंबर इन नंबर्स एंड हिट टैप और इस तरीके से आप फॉर इच लूप जो इन्होने टेंप्लेट दे रखा है उसकी हेल्प से भी कर सकते हो एक चीज और है इटेज के अंदर आप चाहो तो खुद के भी टेंप्लेट बना सकते हो काफी कूल कोल लेकिन यहां पर छोटे-मोटे प्रोजेक्ट्स में वो काम के नहीं होते आप जब ए स्टूडियो वगैरह कर रहे हो बड़े प्रोजेक्ट बड़े लेवल पर काम कर रहे हो जिसके अंदर आपको दिखता है कि ये चीजें मैं बार-बार लिख रहा होता हूं तो इंटेलिजेंस के अंदर सपोर्ट है खुद के छोटे-छोटे टेंप्लेट बनाने का भी ठीक है लेकिन वो सब हम नहीं देख रहे होंगे यहां पर बस मैंने आपको बताया जो कि आप एक्सप्लोर कर सकते हो चाहो तो अगेन तो यहां पर क्या करेंगे अगर हमारा नंबर अगर यह वाला जो करंट नंबर है अगर यह छोटा है मिन से तो मैं मिन को अपडेट कर दूंगा मिन बोल दूंगा नंबर हो गया मिन तो यह तो मैंने कुछ कोड कर दिया आई थ समझ में नहीं आया होगा लेकिन एक बार जरा इसे समझेंगे ठीक है पहले मैं इसे प्रिंट करके दिखाता हूं आपको एस आउट मिनिमम इज मिन इसे रन करते हैं और हम देखेंगे यहां पर वैसे जीरो प्रिंट होने वाला है भैया जीरो कहां से आ गया जीरो तो इनमें से कुछ भी नहीं है एक भी नंबर जीरो नहीं है तो जीरो कैसे मिम प्रिंट हो गया हमें तो इसमें से सबसे छोटा नंबर वच इज टू राइट टू प्रिंट होना चाहिए था तो टू प्रिंट क्यों नहीं हुआ तो मैं बोलूंगा देखो दिक्कत है दिक्कत आपकी यहां पर इनिश में ही है कि आप यहां पर क्या कर रहे हो आपने जीरो से इलाज कर दिया जोकि सबसे छोटा नंबर है आपने बोल दिया कि मेरे पास सबसे छोटा नंबर तो ऑलरेडी प्रेजेंट है तो इनमें से अब छोटा कौन सा होगा बताओ तो सबसे छोटा नंबर आप ऑलरेडी लेके बैठे हो तो आपको उससे ज्यादा छोटा नंबर कैसे मिल सकता है राइट तो यहां पर आप इसको जीरो मत करो यहां पर एक बहुत बड़े नंबर से इलाज कर दो जितना बड़ा नंबर यहां पर भी प्रेजेंट नहीं है ठीक है इतने बड़े नंबर से इलास कर दो तो बोलो इतना बड़ा नंबर कौन सा हो सकता है यहां पर तो कोई भी बड़ा नंबर नहीं दिख रहा मुझे पहले से कैसे पता होगा कौन सा सबसे बड़ा नंबर है तो इंट के अंदर ना लिमिट आपको दे रखी हो इंट के अंदर एक इंटी जर नाम की रैपर क्लास होती है इन सबको हम बाद में देखेंगे वैसे रैपर क्लासेस वगैरह क्या होती है लेकिन इसके अंदर एक मैक्स वैल्यू होता है और इस मैक्स वैल्यू के अंदर एक नंबर ऑलरेडी स्टोर्ड है जो कि इंट इंट का सबसे बड़ा नंबर होता है यहां पर देखो क्या लिखा हुआ है पब्लिक स्टैटिक फाइनल ये सब तो मत देखो लेकिन मैक्स वैल्यू के अंदर देखो क्या स्टोर्ड है इसके अंदर ये नंबर स्टोर्ड है आप अगर इसे प्रिंट कराके देखना चाहोगे तो आप यहां पर प्रिंट करा सकते हो एस आउट इंटी जर डॉट मैक्स वैल्यू और इसको जरा प्रिंट करके देखते हैं क्या होता है तो सबसे बड़ा नंबर जो इंट के अंदर जो सबसे बड़ा नंबर आ सकता है वच इज दिस 2 * 10 पावर 9 समथिंग यह नंबर है आपका और ये इंट के अंदर आने वाला सबसे बड़ा नंबर है तो यह मैंने स्टोर कर लिया इस बार ठीक है और आप इस बार देखो मिनिमम इज टू सही से प्रिंट हो रहा है तो यह कैसे काम किया भैया यह समझा दो यह काफी कमाल का है ठीक है यह थोड़ा सा समझने में मजा आएगा आपको तो एक काम करते हैं इस चीज को मैं यहां से हटा के नीचे लिख देता हूं इस तरीके से ऊपर भी रहने देते हैं इसको और ऊपर वाले को मैं कमेंट कर देता हूं लेकिन तो अब जरा समझेंगे कैसे काम किया ठीक है थोड़ा ध्यान देंगे इसको अच्छे से क्योंकि थोड़ा सा बढ़िया कांसेप्ट है तो हो क्या रहा है यहां पर आपके मिन के अंदर एक बहुत बड़ा नंबर स्टोर्ड है मिन के अंदर सपोज करो ये नंबर है ठीक है च इज 2 न 10 और ना वैसे तो ये नहीं है एग्जैक्ट टू के बाद बहुत सारे नौ बार जीरो नहीं है ये नंबर है लेकिन हां ये ऐसे ही बोल देते हैं इसको ठीक है यही नंबर है उसके बाद हमारा लूप चल रहा है और हमने चेक किया कि जो करंट नंबर है चच इज 23 क्या ये छोटा है मिन से तो हां ओबवियसली कोई भी नंबर होगा वो छोटा ही होगा इससे क्योंकि आपने जो एरे बनाया वो इंट का एरे बनाया है और हमने इंट के अंदर का जो सबसे बड़ा नंबर है उससे इनिला कर दिया इसको तो कोई भी नंबर होगा आपके पास वो इससे तो छोटा ही रहने वाला है तो पहली बारी में क्या हो गया आपका जो जो ये मिन है वो चेंज हो जाएगा मिन चेंज होके हो जाएगा ये कि इफ नंबर चच इज 23 क्या 23 छोटा है इससे 2 * 10 पा 9 से तो हां ये कंडीशन ट्रू हो जाएगी ये हर केस में ट्रू होगी पहली बारी में तो तो हमारे मिन की वैल्यू पहली बारी में हो चुकी है 23 ये हमने लिख दिया अब हम अगला कंपेयर करेंगे अब हमारा जो नंबर है अगला है 12 राइट तो 12 क्या छोटा है मिन से मिन के अंदर क्या है इस बार मिन के अंदर 23 है तो 12 छोटा है 23 से हां 12 छोटा है 23 से तो अगला हमें छोटा नंबर मिल चुका है च इ अगेन नॉट 23 बट इट इज 12 ठीक है तो इस तरीके से आपका य लूप चलता रहेगा अब अगली बारी में क्या होगा अगली बारी में देखो क्या होगा हमारे मिन के अंदर क्या है मिन के अंदर हमारा ऑलरेडी स्टोर्ड है 12 और अगला नंबर आपको मिलता सिस तो क्या सिक्स छोटा है 12 से तो हां अगेन यह वाली कंडीशन भी ट्रू हो जाती है तो अगेन मन की वैल्यू अपडेट हो जाएगी मन की वैल्यू से हट के हो जाएगी मिन की वैल्यू सि राइट मिन के अंदर हमने नंबर डाल दिया च इ सि उसके बाद आप अगेन आगे जाओगे लेकिन अब कुछ अलग होने वाला है ठीक है मिन के अंदर ऑलरेडी क्या स्टोर्ड है मिन के अंदर सिक्स है ठीक है मिन के अंदर ये सब स्टोर नहीं है मिन के अंदर फिलहाल अभी सिक्स स्टोर्ड है याद रखना है हम और अब हमारा जो नंबर है वो आ गया सेवन तो नंबर सेवन है क्या सेवन छोटा है सिक्स से तो आप बोलोगे नहीं सेवन छोटा नहीं है सिक्स से इसका मतलब हमें मिन को अपडेट करने की जरूरत नहीं है क्योंकि हमें मिन से छोटा नंबर नहीं मिला है ठीक है तो इस तरीके से आप लोग यहां पर मिनिमम नंबर निकाल पाते हो क्योंकि आपको मिन से छोटा नंबर अभी तक नहीं मिला है तो ये नंबर है सेवन सेन इज नॉट स्मॉलर देन सिक्स तो आप इस इफ कंडीशन में नहीं जाओगे और आप अगले नंबर पर चले जाओगे अगला नंबर है 15 अगेन 15 के साथ यही होने वाला है ठीक है अगेन 15 के साथ यही होने वाला है कि नंबर आ गया 15 और मिनिमम क्या मिनिमम है सिक्स तो क्या ये कंडीशन ट्रू है ये कंडीशन ट्रू नहीं है तो आप यहां पर भी कुछ नहीं करोगे और आप अगले नंबर पर चले जाओगे चच इज थ्री अब जब थ्री प आप जाओगे तो क्या होगा जब आप थ्री पर जाओगे तो आपका जो नंबर है वो तो है थ्री राइट ये नंबर आपका थ्री है लेकिन मिनिमम क्या मिनिमम है सि तो क्या ्र छोटा है सिक्स से आप बोलोगे हां भैया थ तो छोटा है सि से तो आपका मिनिमम अब अपडेट हो जाएगा और होना भी चाहिए क्योंकि आपको और छोटा नंबर मिल चुका है तो आपका मिनिमम सिक्स नहीं है मिनिमम आपका ्र हो चुका है उसके बाद आपको टू मिलेगा तो आप बोलोगे क्या टू छोटा है थ से तो अगेन ये कंडीशन ट्रू होगी तो मिनिमम आपका थ से हो जाएगा टू उसके बाद अगला नंबर मिलेगा आपको 56 तो आप चेक करोगे 56 छोटा है टू से आप बोलोगे नहीं तो आपका ये मिनिमम जो है वो टू ही रह जाएगा और आपका जब पूरा लूप खत्म हो जाएगा तो मिनिमम इस टू प्रिंट हो जाएगा इस तरीके से आप सबसे छोटा नंबर बता पा रहे हो ठीक है आई थिंक समझ में आया होगा अगर कॉम्प्लिकेटेड लग रहा है यह कोड अगर समझ में नहीं आ रहा है तो एक बार दोबारा से देखना इस कोड को एक बार जो मैंने अभी एप्लीकेशन बता दिया आपको पूरा का पूरा एक्सप्लेनेशन दिया है इस एक्सप्लेनेशन को दोबारा से समझने का ट्राई करना दोबारा वीडियो देखना तब आप लोगों को क्लियर हो जाएगा वैसे बहुत कॉम्प्लिकेटेड है नहीं यहां पे कुछ और इसी चीज को एक बार आप फॉर आ वाले लूप से बनाने का ट्राई करना जिसके अंदर i = 0 वाला लूप बनाते हैं जो उससे भी करने का ट्राई करना एंड देन इसके बाद एक छोटा सा होमवर्क व्हिच इज फाइंड द मैक्सिमम नंबर ये करने का ट्राई करना कि मैक्सिमम नंबर बता सकते हो आप आप लोगों ने मिनिमम नंबर बता दिया सिमिलरली आप मैक्सिमम नंबर भी बता सकते हो बड़े आराम से उस केस में बस मैं एक छोटा सा हिंट देता हूं यहां पे ये जो बनेगा ना आपका मैक्स वेरिएबल जो बनेगा उस केस में वो मैक्स वेरिएबल यहां पे कुछ अलग होगा वो क्या होगा वो जरा सोचने का ट्राई करना ठीक है तो ये हो गया हमारा फॉर ईच लूप और हमने कुछ एग्जांपल्स भी देख लिए फॉर ईच लूप के साथ इसके बाद हम आगे बढ़ते हैं एरे के अंदर और अब मल्टी डायमेंशन एरे की बात कर लेते हैं कि एरे अभी तक हमने जो देखा था वो सिंगल डायमेंशन में था सिंगल डायमेंशन मतलब एक ही लाइन में चलता जा रहा है इंसान ठीक है सिंगल डायमेंशन यह सारे एरे जो थे आपके सिंगल डायमेंशन के थे राइट आपने जो भी देखा कि आप सिर्फ एक ही डायरेक्शन में जा सकते हो लेकिन आपको अगर दो डायरेक्शन में एरे जाइए या फिर आप लोग को एक मैट्रिक्स बनाना है ना 10 पढ़ते थे राइट इस तरीके से मैट्रिक्स कि अब आपको यहां पर दो डायमेंशन में डाटा शोर करना है या फिर दो में भी नहीं आपको थ्री डायमेंशन में स्टो करना है तो आपको मैं थ्री डायमेंशन भी बताऊंगा जिसमें कुछ इस तरीके से आप लोगों का सपोज करो र क्यूब बन गया ठीक है मैंने तो कुछ गंदा सा बना दिया लेकिन थ्री डायमेंशन डाटा स्टोर करना है फोर डायमेंशन जो कि मैं यहां पर बना भी नहीं सकता जो कि मैं दिखा भी नहीं सकता लेकिन ऐसा कुछ भी स्टोर करना तो वो भी आप कर सकते हो विथ मल्टी डायमेंशन एरे लेकिन पहले हम बात करते हैं टू डायमेंशन की ठीक है उसी में चीजें कॉम्प्लिकेट हो जाती है थोड़ी सी तो इस तरीके से आप लोग टू डायमेंशन डेटा स्टोर कर सकते हो और उसको बनाने का क्या तरीका होता है उसको कैसे इलाज करते हैं तो अगेन किस टाइप का बनाना है सपोज करो इन टाइप का बनाना है इंट उसके बाद किस नाम का बनाना है सपोज करो ए नाम का बनाना है उसके बाद डी एरे है तो डी एरे के लिए दो बार ये लिखना पड़ेगा आपको डी एरे के लिए आपको दो बार स्क्वायर ब्रैकेट लगाने होते हैं इक्वल टू न्यू इंट उसके बाद अगेन दो बार ये लगाना पड़ेगा लेकिन इस बार आप यहां पर साइज बताओगे तो पहले आप बताओगे कितनी इसके अंदर रोज होने वाली है ठीक है ये जो चीज है ये रोज है तो कितनी रोज होंगी जैसे यहां पर आप देख रहे हो तीन रोज है तो थ्री रोज तो यहां पर लिखोगे आप थ्री रोज कितने कॉलम्स है एक दो तीन चार कॉलम है तो यहां पर लिखोगे आप चार इस तरीके से आप लोग एरे इनिश इइ कर रहे होंगे इसको हम कहते हैं 2d एरे दिस इज योर 2d एरे 2d एरे कह लो या फिर कह लो मैट्रिक्स एक ही बात है 2d एरे कह लो या फिर मैट्रिक्स कर लो एक ही बात है इस तरीके से आप लोगों का 2d एरे इनिश इइ होता है और यहां पे हमने डिक्लेयर भी कर दिया तो अब हो क्या रहा है 3 * 4 12 साइज का एरे 12 साइज का अ स्पेस एलोकेट हो जाने वाला है मेमोरी के अंदर आपके लिए तो यहां पे 3 मल्ला बा फोर ठीक है क्योंकि यहां पर टोटल 12 पोजीशन है 1 2 3 4 5 6 7 8 9 10 11 12 ठीक है 12 नंबर्स आप लोग स्टोर करने वाले हो तो आप लोगों के लिए मेमोरी के अंदर 12 जगह खाली हो जाएंगी यह आपकी 12 जगह खाली हो जाएंगी और इनके अंदर आप नंबर स्टोर कर रहे होंगे लेकिन मेमोरी के अंदर तो वो लाइन से स्टोर हो रहे होंगे लेकिन स्टिल आप उनको इस तरीके से डिपिक्ट कर सकते हो इस तरीके से एक्साइज कर सकते हो कि आपको लगेगा कि मैंने तो 2d एरे स्टोर किया हुआ है जिसके अंदर तीन रोज हैं और चार कॉलम्स हैं ठीक है अब जरा समझते हैं ये सब कैसे काम कर रहा है अंडर द हुड क्या चीज चल रही है ये समझने का ट्राई करते हैं तो सपोज करो इस बार हम एग्जांपल लेते हैं ऐसा कि हमारे पास ना एक बच्चे के सिर्फ एक सब्जेक्ट के मार्क्स नहीं एक बच्चे के तीन सब्जेक्ट के मार्क्स स्टोर करने हैं आप लोगों को तो बच्चा नंबर जीरो के हमें तीन सब्जेक्ट के मार्क्स स्टोर करने है विच इज इंग्लिश साइंस और मैथ इस तरीके से तो बच्चा रोल नंबर जिसका जीरो है उसके मेरे इंग्लिश में मार्क्स है सपोज करो 42 12 98 फिर बच्चा नंबर वन जिसका रोल नंबर वन है उसके इंग्लिश में मार्क्स है लेट्स से 98 यहां पे इसके मार्क्स आ गए लेट्स से 14 यहां पे आ ग इसके 22 इस तरीके से आप लोगों को यह स्टोर करना है तो समझ में आ रहा है सिनेरियो किस कब आपको एक ूडी आरे की जरूरत होगी जब आपको इस तरीके से मल्टीपल रोज और उसके अगेंस्ट मल्टीपल कॉलम्स बन रहे हैं उस टाइम पर आपको एक डी एरे की जरूरत होती है क्योंकि यहां पर जो डाटा है वह आपको दिख रहा है कि बड़े आराम से एक 2d फॉर्मेट के अंदर स्टोर किया जा सकता है राइट आप इस तरीके से मल्टीपल कॉलम्स बना सकते हो इस तरीके से आप लोग मल्टीपल रोज बन जाएंगी और हर रो के अंदर एक नए नए रोल नंबर का डाटा स्टोर हो सकता है तो इस तरीके से आप लोग एक डी एरे बनाओगे तो डी एरे ये वाला कैसे बनाओगे जरा समझते हैं इसके लिए हम आएंगे अपने कोड के अंदर और यहां पे एक इसको हम कमेंट कर देते हैं और यहां पर मैं एक नया बनाने वाला हूं अगेन मार्क्स नाम से बना लेते हैं मार्क्सस लेकिन इसको इनिला करेंगे टूडी आरे की तरह तो दो बार स्क्वायर ब्रैकेट लगाएंगे उसके बाद न्यू इंट क्योंकि ये इंट टाइप का है आपका ठीक है उसके बाद इंट के अंदर हम लिखेंगे यहां पर लेट्स से अ मेरे पास कितने बच्चे हैं रोज का मतलब पहला है रोज का मतलब कितने बच्चे हैं आपके पास ठीक है कितनी रोज आप बनाने वाले हो क्योंकि यहां पे मैं इस तरीके से डटा स्टोर कर रहा हूं कि जो रोज है वो बता रही है कि कितने बच्चे हैं मेरे पास तो लेट्स से मेरे पास चार बच्चे हैं ठीक है तो चार उसके बाद कितने कॉलम्स मतलब कितने सब्जेक्ट्स हैं तो यहां पे जो रोज है वो बता रहे हैं नंबर ऑफ स्टूडेंट्स लेकिन जो कॉलम्स है वो बता रहे हैं कि कितने आपके पास सब्जेक्ट्स हैं तो मेरे पास सपोज करो तीन सब्जेक्ट्स हैं तो इस तरीके से मैंने फोर रोज और तीन कॉलम्स का यहां पर मैट्रिक्स बना लिया इसे क डीर या पर मैट्रिक्स एक ही बात है उसके बाद इनके अंदर आप डाटा किस तरीके से डालोगे तो डाटा डालने के लिए इसके अंदर क्योंकि आपके पास अब दो दो ब्रैकेट है तो यहां पर आप दो दो इंडेक्सेस डाल रहे होते हो ठीक है दो दो इंडेक्सेस डाल रहे होते हो और आप यहां पर इंडेक्सेस देख भी सकते हो समझ में आ भी रहा होगा कि यहां पर क्या चल रहा है जीरो जी इसका मतलब आप बताओगे आप पर रो और कॉलम पहली वाली बताएगी कौन सा रो है दूसरा वाला बताया कौन सा कॉलम है जीरो जीरो का मतलब जीरो थ रो और जीरो कॉलम यह बताएगा आपको जीरो थ रो फर्स्ट कॉलम यहां पर य 1 2 3 4 मत देखो यहां पर एक्चुअल इंडेक्स तो हमें पता है एक्चुअल इंडेक्स तो भैया हमें पता है वो क्या है 0 1 2 3 और एक्चुअल रो भी हमें पता है 0 1 2 तो यहां जो नंबर लिखा हुआ है आप देख रहे हो ये जीरो है तो ये जीरो पूरी टाइम जीरो रहने वाला है यहां पर 0 0 0 क्योंकि ये रो जीरो है सिमिलरली अगर आप इस वाले डेटा को देखो च इज रो नंबर वन तो यहां पर तो वन है और ये कॉलम नंबर टू तो ये कॉलम है क्योंकि जीरो बे इंडेक्सिंग होती है राइट तो ए1 जो है व हमें यह वाली पोजीशन बताएगा इसका मतलब क्या है कि रोल नंबर वन के इस वाले सब्जेक्ट के मार्क्स बता दो च एट इंडेक्स नंबर टू ठीक है जरा यह चीज करके देखते हैं या फिर सिमिलर चीज अगर यहां करनी है तो य चीज करके देखते हैं तो मैं आऊगा यहां पर और मार्क्स जीरो 0 इक्टू 12 मार्क्स जीरो वन एक सेकंड इसके अंदर नहीं घु सेंगे बाहर निकल के मार्क्स 0 व इक्वल टू 8 मार्क्स 0 2 इक्वल टू लेट्स से 34 तो यहां पर मैंने जीरो रोल नंबर वाले बच्चे के तीनों सब्जेक्ट के मार्क्स स्टोर कर दिए उसके बाद अगले रोल नंबर के बच्चे को लेकर आते हैं तो मार्क्स वन पहला नंबर बता रहा है रोल नंबर चज रो ठीक है तो यहां पर मैं लिख देता हूं एक तरीके से समझ के लिए की जो रो है वो आपका बताती है स्टूडेंट रोल नंबर यह बस समझने के लिए है उसके बाद जो कॉलम है वह हमें बताता है कि मार्क्स इन द सब्जेक्ट या फिर सब्जेक्ट पोजीशन उसके बाद जो आप वैल्यू स्टोर कर रहे हो वो उस बंदे के उस रोल अ उस रोल नंबर के उस सब्जेक्ट के अंदर मार्क्स है मार्क्स 0 इक्वल टू 12 मार्क्स वन न इ ू ले 67 मार्क्स वनट इ लेट से 87 इस तरीके से मैंने रोल नंबर वन जिसका है उसके भी तीनों सब्जेक्ट के मार्क्स स्टोर कर लिए हैं अगेन याद रखना है रोल नंबर वन रोल नंबर जीरो तो कुछ नहीं होता भैया क्योंकि अगेन आपको पता है जावा के अंदर जीरो बे इंडेक्सिंग है तो कुछ नहीं कर कर सकते हैं हम ठीक है जावा ने बोल रखा है जीरो से स्टार्ट होना है तो जीरो से स्टार्ट करना पड़ेगा हमें इस तरीके से मैंने दो बच्चों के मार्क्स स्टोर कर लिए सिमिलरली मैं काम करता हूं मैं यहां पर इनके कॉपी पेस्ट कर देता हूं तो यहां पे हो जाएगा टू और नीचे हो जाएगा थ्री तो मैंने सब बच्चों के ना मार्क्स स्टोर कर दिए यहां पर तो पहले बच्चे के मार्क्स ये दूसरे के ये तीसरे के ये चौथे के ये तो इस तरीके से तो आप लोग नॉर्मली जो आपका डिक्लेयर होता है मतलब आपने पहले बनाया उसके बाद आप लोगों ने यहां पे डिक्लेयर किया लेकिन आप चाहते हो कि नहीं यार यह तो बहुत ही कमसम लग रहा है इनिला करते हुए बता दो क्योंकि वो थोड़ा इजी होगा तो यह सारी लाइन आपको नहीं लिखनी पड़ेंगी तब तब आपका नॉर्मल बड़े इजली काम हो जाने वाला है उस केस में आप पहले से नहीं बताओगे कितने साइज का एरिया है उस केस में आप क्या करोगे ऐसे पहले आपने लगाया कर्ली ब्रेस उस कर्ली ब्रेस के अंदर आप लगाओगे एक दूसरा कर्ली ब्रेस और आप यहां पर मार्क्स बता दोगे तो पहले बताओगे आप 12 98 और 34 तो 12 98 और 34 इसका मतलब क्या है कि नंबर जीरो के ये तीन मार्क्स है तीनों सब्जेक्ट के अंदर उसके बाद अगला आप बताओगे 12 67 और 87 ठीक है तो अब थोड़ा इजी लग रहा होगा आपको हां भैया आप थोड़ा समझ में आ रहा है अब थोड़ा इजी हो गया मार्क्स फिल करना लेट्स सेय सब अब आप यहां पर जितने मर्जी बच्चे डाल सकते हो लेट्स से इस तरीके से तो यहां पर क्या है मेरे पास चार बच्चे हैं जिनके पास तीन सब्जेक्ट है और इस तरीके से मैंने उनके मार्क्स स्टोर कर लिए और आपको कभी कोई भी एक्सेस करना है एस आउट सपोज करो मार्क्स और अगर आपको यह वाले मार्क्स स्टोर करने है 98 तो मुझे बताओ क्या लिखोगे 98 अगर आपको स्टोर करना है तो सोचो क्या लिखोगे 98 के लिए 012 सेकंड इंडेक्स और साथ में कौन सा कॉलम है 01 वन वाला कॉलम है इसके से तो मार्क्स 2 व आप लोगों ने किया तो आपको पता है 98 मिलने वाला है इसको रन करते हैं तो यहां देखो 98 मिल रहा है ऊपर मैंने शायद एक मैक्स इंट भी प्रिंट करा रखा है इसको हम कमेंट कर देते हैं दोबारा रन करते हैं तो अब हमें 98 मिलने वाला है आपको अगर 23 एक्सेस करना है तो उसके लिए क्या करेंगे इसको मैं करता हूं रिपीट तो 23 कहां पर है 23 है सेकंड रो में 0 1 2 पहले तो रो रो हमारी ऐसे होती है हॉरिजॉन्टल चीजें हमारी रोज होती है तो रो नंबर टू है इसकी और कॉलम कौन सा है कॉलम है ये वर्टिकल 01 2 कॉलम नंबर भी टू है तो इस तरीके से चलाते हैं अब आपको मिलेगा 23 अब जरा इसके अंदर क्या मिलने वाला है आपको इसको मैं करता हूं रिपीट और यहां पर मैं लिखूंगा वन और थ्री बताओ इसके अंदर क्या मिलने वाला है सोच लिया होगा आप लोगों ने इसके अंदर आप लोगों को इंडेक्स आउट ऑफ़ बाउंड एक्सेप्शन मिलने वाला है क्यों क्योंकि आपको दिख रहा है यहां पे देखो थोड़ी सी वार्निंग भी आ गई है एरे इंडेक्स इज आउट ऑफ़ बाउंड आपको दिख रहा है कि इसके अंदर थर्ड इंडेक्स का कोई कॉलम है ही नहीं क्योंकि आपके टोटल कॉलम ही इसके अंदर तीन है तो थर्ड इंडेक्स का मतलब फोर्थ कॉलम ऐसा कुछ तो प्रेजेंट नहीं है तो यहां पे आप लोगों को एरर मिलने वाला है और आप देख सकते हो अगेन सेम एरर मिलेगा एरे इंडेक्स आउट ऑफ बाउंड एरे इंडेक्स आउट ऑफ बाउंड एक्सेप्शन इंडेक्स थ आउट ऑफ बाउंड फॉर लेंथ थ कि आप लोग इंडेक्स थ फाइंड करने का ट्राई करो जिसके अंदर लेंथ ही थ है तो यह तो अलाउड नहीं है राइट तो इसीलिए यहां प आप लोग को य एरर मिला है यहां पर आप टू लिख सकते हो तो आप लोगों को बताओ अब कौन सा मिलेगा इसके अंदर क्या वैल्यू मिलेगी तो फर्स्ट रो फर्स्ट रो कौन सी है फर्स्ट रो ये है उसके बाद सेकंड कॉलम यह है तो 87 मिलने वाला है यह वाली चीज ठीक है तो आई थिंक आप लोग को डी एरे क्यों यूज किए जाते हैं और कैसे यूज करते ये दोनों चीजें समझ में आ गई होंगी और इस तरीके से आप लोग मल्टी डाइमेंशनल एरे बना रहे होते हो मल्टी डायमेंशन एरे को थोड़ा और अच्छे से हम पढ़ रहे होंगे आने वाली क्लासेस के अंदर जब हम क्वेश्चन सॉल्व कर रहे होंगे इसके ऊपर लेकिन एक चीज मैं आप लोगों को और बताना चाहता हूं कि मल्टी डायमेंशन एरे के अंदर एक्चुअली में इंटरनली कैसे स्टोर होता है चीजें ठीक है इंटरनली क्या पूरा का पूरा सिस्टम होता है जरा वो समझते हैं तो जब आपने एक नॉर्मल एरे बनाया था वन डायमेंशन एरे याद है आपको क्या करते थे ये हमारा वन डायमेंशन एरे है सपोज करो इसके अंदर ये चार वैल्यू स्टोर हो सकती है दिस इज योर एरे तो आपके पास सिर्फ पहली जगह का लोकेशन प्रेजेंट है और इस तरीके से आपने चार नंबर स्टोर कर लिए अब जब आपने इसके अंदर टू डायमेंशन एरे बनाया इस तरीके से सपोज करो आपने टू डायमेंशन एरे बनाया तो क्या होगा यह बेसिकली एक एरे ऑफ एरे है तो आपके पास अभी भी चार चीजें है लेकिन य चारों पोजीशन है ना यह चारों के चारों अलग-अलग एरे को पॉइंट कर रही है मतलब कि एक एरे आपका यह है जिसके अंदर सपोज करो एक दो तीन च च पा एक दो तीन चार पा जिसके अंदर पांच लेंथ है इसके अंदर पांच लेंथ है एक दो तीन चार पाच इसके अंदर पांच लेंथ है एक दो तीन चार पाच और इसके अंदर भी पांच लेंथ है एक दो तीन चार पाच और उसके बाद क्या हो रहा है यह जो चीज है पहली वाली जो चीज है यह पॉइंट कर रही है पहले वाले को यह वाली जो चीज है यह पॉइंट कर रही है इसको ये वाली चीज पॉइंट कर रही है इसको और ये वाली चीज पॉइंट कर रही है इसको ठीक है तो एक्चुअली मैं आप आप लोगों ने यहां पर चार-चार एरे बना लिए हैं और उन चारों एरे को क्लप कर दिया है एक दूसरे एरे के अंदर जिसको फाइनली नम पॉइंट कर रहा है ठीक है तो नम के पास इसकी लोकेशन है अगर नम को किसी भी एरे के पास जाना है तो वो बड़े इजली जा सकता है क्योंकि इसके पास अगर इसकी जगह है और सब के सब कंटस फशन में स्टोर्ड है तो आप इजली किसी भी लोकेशन का पता लगा सकते हो अगेन वही मैथ का फार्मूला लगाना है आपको अगर ये पता लगाना है कि ये कहां पर है तो आपको पता है कि ये वाली जो जगह है ये जो है ये आपकी फर्स्ट रो के अंदर है और सेकंड कॉलम के अंदर ठीक है फर्स्ट रो है ये 0 1 2 3 तो फर्स्ट रो है उसके बाद कॉलम कौन सा है वो कॉलम ये है ठीक है ये आपके कॉलम्स होते हैं इस तरीके से तो 0 1 2 3 4 जो दूसरी वाली चीज है वो आपकी कॉलम है दूसरी वाली चीज जो कॉलम में कह रहा हूं वो एक्चुअली दूसरे वाले अंदर वाले एरे की इंडेक्स है पहली वाली चीज जिसको मैं रो कह रहा हूं वो एक्चुअली आपके ऊपर वाले एरे की इंडेक्स है तो दिस थिंग जो रो है वो आपकी ऊपर वाले एरे की इंडेक्स है और जो दूसरी चीज है कॉलम वो आपके अंदर वाले एरस की इंडेक्स है इस तरीके से आपके मल्टीडाइमेंशनल एरे काम करते हैं और स्टोर्ड होते हैं इस तरीके से आप किसी भी पोजीशन को एक्सेस कर पाते हो जस्ट बाय नोइंग टू चीजें दो वेरिएबल ठीक है टू डायमेंशन है तो दो चीजें चाहिए होंगी दो जगह चीजें चाहिए होंगी तभी आप चीजें पता लगा सकते हो किसी भी जगह की लोकेशन पता लगा सकते हो ठीक है इसी वजह से आप लोग यहां पे दो इंडेक्सेस का यूज़ कर रहे होते हो इस तरीके से आपके मल्टी डाइमेंशनल एरे काम करते हैं तो यही था हमारे एरस के अंदर इनको हम यूज़ कर रहे होंगे एक्चुअली बहुत ज्यादा मल्टीडाइमेंशनल एरे के ऊपर हम क्वेश्चन सॉल्व कर रहे होंगे काफी सारे अरेज के ऊपर भी क्वेश्चन सॉल्व कर रहे होंगे बट ये सब देखेंगे हम आने वाली क्लासेस के अंदर अभी हमने बहुत बेसिक चीजें समझेंगे कि एरे कैसे काम करते हैं कैसे इनिश आइज करते हो कैसे डिक्लेयर करते हो साइज कैसे डालते हो किस तरीके से यूज़ करते हो फॉर इच रूप लगा के आप कैसे रेट वगैरह करते हो तो ये सब था आपके अरेज के अंदर इसके बाद हम बात कर रहे होंगे फंक्शंस की बट वो हमारी नेक्स्ट क्लास के अंदर चलते हैं बाय बाय हे व्ट्स अप गाइ अपनी जावा की इस जर्नी के अंदर थोड़ा और आगे बढ़ते हैं और बात करते हैं मेथड्स के बारे में मेथड्स बहुत ही कमाल का कांसेप्ट है जिसकी हेल्प से आप लोग कोड रीयूज कर पाते हो लेकिन कैसे करते हैं कैसे काम में आते हैं क्या फायदे होते हैं इनके ये सब समझ रहे होंगे कैसे आप लोग यूज़ कर सकते हो मेथड्स को मेथड्स को फंक्शन भी बोलते हैं तो फंक्शन या मेथड बोलो जावा के अंदर इंटरचेंजेबली हम इनको यूज़ कर सकते हैं तो आप बात कर लो चाहे कि मेथड सीख रहे हैं या फंक्शन सीख रहे हैं बात एक ही है आज जावा के अंदर हम आगे बढ़ते हैं ठीक है तो क्या-क्या पढ़ने वाले हैं आज कैसे फंक्शंस काम करते हैं यहां पर देखो मैंने फंक्शन लिख दिया मेथड लिख दो एक ही बात है डिक्लेयर अ जावा मेथड कॉलिंग मेथड रिटर्न टाइप पैरामीटर्स ये सब अ एक ही जैसे कांसेप्ट है इनको मैंने मस अलग-अलग लिख दिया उसके बाद अ मैथ लाइब्रेरी मेथड्स यह हम देख लेंगे के साथ में एंड में कि किस तरीके से आपको ताकि प्रैक्टिकली इंप्लीमेंटेशन समझ में आ जाए तो ये लास्ट वाला पार्ट स्किप मत करना बिकॉज़ इसमें आप लोगों को प्रैक्टिकली समझ में आएगा कि ठीक है जो हमने इतना कुछ सीखा ये यूज़ कैसे होता है इसके बाद और भी प्रैक्टिकल चीज हम देख रहे होंगे इवन हमारे जो कंपाइलर हैं कोडिंग शेडल के अंदर उनमें आप देख रहे होगे कि सारे के सारे आपको क्लास मिल रही है एंड देन मेथड मिल रहा है कुछ सीधा डायरेक्टली मेथड कोई फंक्शन कॉल करना है आप लोगों को फंक्शन में कोड लिखना है तो वो कैसे काम करता है वो आज पूरा का पूरा समझ में आ जाने वाला है आपको उसके बाद आप लोग आराम से हमारे कंपाइलर के अंदर अपना कोड रन कर सकते हो बड़े आराम से ठीक है हाउ डू द मेथड्स वर्क सबसे पहले तो मेथड होता क्या उसी की बात कर लेते हैं फिर वर्क कैसे करता है वो भी समझ लेंगे अ मेथड इज अ ब्लॉक ऑफ कोड और कलेक्शन ऑफ स्टेटमेंट और सेट ऑफ कोड ग्रुप टुगेदर टू परफॉर्म अ सर्टेन टास्क और ऑपरेशन इट इज यूज टू अचीव द रीयूज बिलिटी ऑफ कोड तो सपोज करो आपका एक कोड है ठीक है सपोज करो दिस इज योर कोड ठीक है यहां पर कुछ आपने बड़ा सा कोड लिखा हुआ है ठीक है यहां पर बहुत सारी लाइन है अब इसके अंदर से आपको पता है कि य जो कुछ लाइन है ना ऊपर की ये जो कुछ लाइन है ठीक है यहां पे कुछ-कुछ लाइने लिखी हुई है आपने ये जो लाइंस है ये बार-बार रिपीट हो रही है मतलब ये यहां तो रिपीट हो ही रही है ऊपर यहां पर लेकिन सेम लाइंस यहां पर आप देखते हो कि नीचे भी रिपीट होते हुए मिलती हैं आप लोगों को अब मैंने अगर आपको बोला है कि यार ऐसा करो एवरेज ऑफ टू नंबर्स निकालो तो एवरेज ऑफ टू नंबर्स आप लोग हो सकता है ऊपर भी कहीं निकाल रहे हो फिर हो सकता है नीचे भी आप लोग कहीं निकाल रहे हो राइट हो सकता है बाद में और भी 10 जगहो प कहीं निकाल रहे हो एवरेज ऑफ टू नंबर्स तो क्या बार-बार आप एवरेज ऑफ टू नंबर्स वाला जो भी पूरा का पूरा लॉजिक होता है जिसके अंदर आप लिखते हो कि एंटर फर्स्ट नंबर एंटर सेकंड नंबर देन स्कैनर से इनपुट लेते हो उसके बाद उनका सम लेते हो देन डिवाइड बाय टू करते हो वो पूरा का पूरा लॉजिक जो आपका है क्या वो बार-बार आप लिखोगे क्या वो बार-बार कोट करोगे नहीं ना आप चाहते हो कि बस मैं एक बार लिखूं बार-बार वो यूज हो जाए तो सेम टाइप कांसेप्ट आपको यादद आ रहा होगा हमने लूप्स के अंदर भी पढ़ा था लूप्स के अंदर भी कुछ स्टेटमेंट है जो कि अगर आपको बार-बार रिपीट करनी है तो वहां पे आप लूप लगाते तो आप बोलोगे भ अभी तो लूप पढ़ाया था अ ये मेथड क्या हो गया तो देखो यार लूप का काम क्या है ना लूप के अंदर ये होता है कि सेम चीज आप बार-बार एग्जीक्यूट करते हो मतलब ऐसे ये तीन लाइन भी आ ग ये तीन लाइन यहां पे भी आ गई सेम टू सेम ये तीन लाइन यहां पे भी आ गई राइट तो ऐसी जगहों पर तो आपका लूप काम में आ जाएगा कोई दिक्कत नहीं है लेकिन जब आपको दिख कि कुछ चीज ऊपर है कुछ ब्लॉक ऊपर है फिर कुछ ब्लॉक नीचे है कुछ लाइनों को छोड़ के ऐसी जगहों पर आपको फंक्शंस यूज करने होते हैं ठीक है फंक्शंस कह लो या फिर मेथड्स कह लो बात बराबर ही है फंक्शन से मेथड्स यूज करने होते हैं आपको दिख रहा होगा इसके अंदर आपने कुछ स्टेटमेंट्स को एक साथ ग्रुप कर दिया है ये पीस ऑफ कोड है जो कि एक ही काम कर गा ठीक है जो फंक्शन का नाम होगा ना कि यह काम यह करने वाला है वही आपका फंक्शन आप बना देते हो उसको बाद फिर उसको फिर आप बार-बार यूज कर सकते हो एंड दैट इज हाउ यू अचीव रीयूज बिलिटी ऑफ कोड अभी ये कैसे रीयूज बिलिटी अचीव कर पाता है कैसे ठीक से काम करेगा वो सब समझेंगे लेकिन ऊपर ऊपर से मोटा-मोटा समझ में आने लग जा होगा कि कोड को रीयूज कर सके बार-बार कोड रिपीट ना करना पड़े उसके लिए आप लोग मेथड यूज करते हो ठीक है अब क्या फंडा होता है इसके अराउंड वो सब समझेंगे हर प्रोग्रामिंग लैंग्वेज के अंदर मेथड होते ही है मेथड के कुछ उसके बाद कुछ कॉम्पोनेंट होते हैं ये कॉम्पोनेंट समझने जरूरी है तो आज आपको थोड़ा-थोड़ा समझ में आना लगेगा वैसे प्रॉपर तो आज भी समझ में नहीं आएगा कि ये क्या-क्या चीजें होती है पब्लिक स्टेटिक वॉइड मेंट वाली चीजें याद है लेकिन धीरे-धीरे करके ये चीजें क्लियर होने लगेंगी आज हम स्टैटिक समझ जाएंगे वॉइड समझ जाएंगे आपको याद है पब्लिक स्टैटिक वॉइड में तो यह पब्लिक वगैरह पब्लिक एक्सेस मोडिफाय होता है बेसिकली ये भी हम समझेंगे बाद में फ्यूचर में लेकिन आज आपको स्टैटिक्स समझ में आ जाएगा थोड़ा सा वॉइड समझ में आ जाएगा प्रॉपर अच्छे से फंक्शन का नेम क्या होता है वो सब उसके बाद इसमें जो आर्गुमेंट पास करे थे हम स्ट्रिंग का एरे वो क्यों पास कर उसकी क्या जरूरत होती है वो भी समझ जाएंगे हम ठीक है यहां पे स्ट्रिंग का एरे पास कर रहे होते हैं हम तो ये सारी चीजें आज क्लियर हो जाने वाली है तो स्टार्ट करते हैं सबसे पहले कॉम्पोनेंट ऑफ अ मेथड तो क्या-क्या चीजें होती है सबसे पहले आपका होता है एक्सेस स्पेसिफाई बात कर रहे होंगे ये बेसिकली एक्सेस स्पेसिफाई बताता है कि ये वाला जो फंक्शन या फिर ये वाला जो मेथड है ये आप लोग बाहर यूज कर सकते हो क्या तो ये अगर पब्लिक होगा तो आप बाहर भी यूज कर सकते हो इस क्लास के बाहर मतलब ठीक है अगर ये प्राइवेट होगा तो मतलब इस क्लास क्लास के अंदर यूज किया जा सकता है और भी इसके अलावा कुछ और चीज होती है प्रोटेक्टेड होता है और डिफॉल्ट होता है लेकिन उसके अंदर ज्यादा नहीं घु सेंगे आप इतना समझ लो इसको अगर आपने पब्लिक कर लिया तो उसके बाद यह वाला जो मेथड आपने बनाया है ये आप बाहर भी यूज कर सकते हो तो ये हो गया आपका एक्सेस स्पेसिफिकेशन टाइप होता है तो मेथड जो होता है ना मेथड को आप ऐसे समझ सकते हो कि ये ना एक ब्लैक बॉक्स टाइप का है ब्लैक बॉक्स इसके अंदर आप कुछ इनपुट्स डालते हो और यह कुछ आपको रिटर्न करता है ठीक है तो आप इसके अंदर कुछ इनपुट डालते हो और ये कुछ आपको रिटर्न करता है अ यह जो आपने इनपुट डाली है ना इसके अंदर यह होता है आपके पैरामीटर्स जो यहां पे लिखे हुए हैं यह आपकी इनपुट हो गए ठीक है आपने पैरामीटर्स पास कर दिए इसके अंदर पैरा मटर्स उसके बाद जो ये रिटर्न कर रहा है ना यहां पे रिटर्न टाइप की इंट तो ठीक है ये इंट की एक वैल्यू रिटर्न करेगा तो ये चीज समझनी है हमें कि आप इनपुट में तो काफी सारी चीजें डाल सकते हो लेकिन रिटर्न एक ही होके आता है इसको ऐसे समझ सकते हैं जैसे कि आप कुछ सब्जी बना रहे हो तो सब्जी के अंदर डलते तो बहुत सारी चीजें हैं राइट लहसुन डल गया मटर डल गया पनीर डल गया तेल डल गया पता नहीं क्या-क्या डल गया लेकिन फाइनल आउटपुट क्या निकलता है सिर्फ एक सब्जी मिलती है आपको मटर पनीर की ठीक है तो यह होता है आपका रिटर्न और जो आपने इंग्रेडिएंट्स उसके बाद जो भी प्रोसेस हो रही है जो कि इसको लेके आ रही है यहां तक वो पूरा का पूरा आपकी मेथड की बॉडी होती है कि मेथड ने कुछ काम किया होगा ठीक है मेथड ने इन सभी इंग्रेडिएंट्स को लिया कुछ काम किया सो दैट फाइनली ये आपको ऐसे बटर पनीर की सब्जी रिटन कर पा रहा है तो ये इस तरीके से समझेंगे हम कि ये ब्लैक बॉक्स है ब्लैक बॉक्स का मतलब क्या होता है ब्लैक बॉक्स आपने देखा होगा सुना होगा ऐसा कि एरोप्लेंस के अंदर ब्लैक बॉक्स होता है जो कि अगर प्लेन क्रैश भी जाता है तो उसके अंदर उसके अंदर कुछ-कुछ चीजें होती हैं जिससे कि वो सेफ रहता है ठीक है एकदम काफी सॉलिड बॉक्स होता है वो और उसके अंदर से सारे सारे कम्युनिकेशन वगैरह या फिर जो भी चल रहा है उस प्लेन के अंदर वो सब आपको मिल जाता है वैसे ही कुछ मैं आपको बताने का ट्राई कर रहा हूं कि इसके अंदर बहुत सारी इनपुट जाती है और इसके अंदर क्या चल रहा है वो आपको जानने की जरूरत नहीं है मतलब हम लिखेंगे वैसे तो कि इसके अंदर क्या चल रहा है लेकिन आप समझ सकते हो कि इसके अंदर बहुत सारे इनपुट जाते हैं ये इनके साथ कुछ कुछ काम करता है एंड देन फाइनली आपको सिर्फ एक वैल्यू रिटर्न करता है ये तो डालोगे आप काफी सारी चीजें मिलेगी आपको सिर्फ एक चीज है तो इस तरीके से आपके मल्टीपल चीजें बनती है एक्सेस स्पेसिफाइड आप लोग लिखते हो रिटर्न टाइप उसके बाद आपका मेथड का नाम यहां पर मेथड नेम लिखने के भी कुछ रूल्स होते हैं जो आपके वेरिएबल नेम लिखने के रूल होते है ना सेम टू सेम वैसे ही इसका मतलब कैमल केस फॉर्मेट में आप लोगों को यहां पर अपने मेथड का जो नाम लिखना है उसके अलावा जो भी चीजें वेरिएबल नेम के अंदर होती है सेम चीजें आप लोगों को मेथड ने में भी लगानी होती है उसके बाद पैरामीटर लिस्ट यहां पे आप मल्टीपल पैरामीटर पास कर सकते हो जो आपको बताए थे ना इनपुट्स तो आप यहां पर कॉमा सेपरेट करके मल्टीपल इनपुट पास कर सकते हो रिटर्न टाइप सिर्फ एक ही होगा उसके बाद इस बॉडी के अंदर बेसिकली ये जो आपको दिख रहा है कर्ली ब्रेसस यहां पे स्टार्ट हो र है यहां पे एंड हो रहा है इसके अंदर आप कुछ भी काम कर सकते हो तो ये तो हो गया हमारा थ्योरी थ्योरी वाला पार्ट अब जरा बना के देखते हैं कि हमारे मेथड्स एक्चुअली काम कैसे करते हैं तो उसके लिए मैं यहां पे आऊंगा और एक नया पैकेज बना लेते हैं लेट्स नेम इट मेथड्स उसके बाद न्यू क्लास लर्न मेथड्स आप बोलो भैया कौन सा वाला मेथड हम देख चुके हैं तो यार यह भी एक मेथड ही है जो आप मेन चीज लिखते हो ना पब्लिक स्टैटिक वॉइड मेन पब्लिक स्टैटिक वॉइड मेन हिट टैब तो यह भी एक मेथड ही है यह देखो एक्सेस स्पेसिफाई रिटर्न टाइप है उसके बाद ये मेथड का नेम है उसके बाद यह पैरामीटर पास कर दिया आपने बस खत्म बात तो इस तरीके से आप लोगों का काम करता है पूरा का पूरा ये अब यहां पर एक स्टैटिक जो चीज है ये थोड़ी अलग है लेकिन ये आज हम समझ जाएंगे स्टैटिक बेसिकली आप लिखते हो जिस भी चीज के आगे आपने स्टैटिक लगा रखा है वो आपके क्लास की प्रॉपर्टी बन जाती है कि ये हमारी क्लास लेवल पर प्रॉपर्टी है इसका मतलब कि आप लोगों को इसको यूज करने के लिए क्लास का कोई इंस्टेंस बनाने की जरूरत नहीं है तो ये क्लास का इंस्टेंस वगैरह क्या होता है ये सब हम तब समझेंगे जब पब्स की बात कर रहे होंगे लेकिन आज ये समझ लेंगे हम कि आपको कोई भी मेथड अगर मेन मेथड के अंदर से कॉल कराना है तो उसको स्टैटिक बनाना होगा क्योंकि स्टैटिक मेथड के अंदर से सिर्फ स्टैटिक मेथड्स को ही कॉल कराया जा सकता है ठीक है तो अगर आपको कोई और मेथड बनाना है कोई और मेथड हम कहां बनाएंगे बाहर बनाएंगे तो ये हमारी क्लास है राइट इस क्लास के अंदर आप लोग कहीं भी इस पूरी क्लास में जैसे क्लास यहां खत्म हो रही राइट तो क्लास के अंदर हम कहीं भी कितने मर्जी मेथड बना सकते हैं एक काम करते हैं एक मेथड बनाते हैं तो सबसे पहले हम लगाएंगे एक्सेस मॉडिफाई को ऑप्शनल है इसको हटा भी सकते हो जब आप एक्सेस मोडिफाय को हटाओ ग तो यह बन जाएगा डिफॉल्ट एक्सेस मॉडीफाय ठीक है जिसके अंदर कुछ भी नहीं लिखा होता वो होता है डिफॉल्ट एक्सेस मॉडीफाय उसके बाद आप चलो हम लिख लेते हैं यहां पे पब्लिक उसके बाद यहां पर रिटर्न टाइप आएगा रिटर्न टाइप हम लिखेंगे इंट उसके बाद सपोज करो मैं दो नंबर का एवरेज रिटर्न करने वाला हूं ठीक है तो यहां पर मैं इस फंक्शन का नाम लिखूंगा हो जाएगा एवरेज एवरेज उसके बाद दो नंबर का मुझे एवरेज रिटर्न करना है राइट तो इसका मतलब इसके अंदर मैं दो पैरामीटर ले सकता हूं तो इंट ए इंट बी तो यह हो गया मेरा पूरा का पूरा मेथड यहां पे एक एरर आ रहा है वो इसलिए आ रहा होगा क्योंकि आपने रिटर्न टाइप इंट लिखा हुआ है और आप कुछ रिटर्न नहीं कर रहे तो जो आपने जो रिटर्न टाइप लिखा हुआ है तो वो आपको रिटर्न भी करना है अगर आप बोल रहे हो कि नहीं यार मुझे कुछ भी रिटर्न नहीं करना तो आप यहां पर वॉइड लगा सकते हो इस तरीके से तो उस टाइम पर आपको कुछ भी रिटर्न करने की जरूरत नहीं है तो वॉइड का मतलब होता है जब आप कुछ भी रिटर्न नहीं करना चाहते जैसे कि इस मेन मेथड के अंदर वॉइड लगा हुआ है वॉइड का मतलब ये फंक्शन कुछ भी रिटर्न नहीं करता है इसके अंदर रिटर्न करने की कुछ जरूरत नहीं है लेकिन जब आप कुछ रिटर्न करना चाहते हो मतलब आप चाहते हो कि कुछ काम हुआ फिर कुछ वैल्यू भी रिटर्न हो जाए तो उस टाइम पर रिटर्न लगाना पड़ता है एक काम करते हैं अभी फिलहाल ये एवरेज वाला जो है ना ये थोड़ा सा कॉम्प्लिकेटेड और कॉम्प्लेक्टेड मेथ बनाता हूं मैं ठीक है पब्लिक वॉइड ग्रीड तो यह मेथड कुछ भी नहीं है बहुत सिंपल है यह मेथड क्या करता है कुछ भी रिटर्न नहीं करता ना कुछ भी आर्गुमेंट या फिर पैरामीटर लेता और यह क्या करता है इसके अंदर आप कुछ भी चीजें लिख सकते हो जितनी मर्जी स्टेटमेंट आप लिख सकते हो तो मैं यहां पर लिखूंगा एस आउट और हेलो वर्ल्ड इस तरीके से तो यह मैंने एक मेथड बना लिया है जो कि मेरे मेन मेथड के बाहर है ठीक है ये मेरा मेन वाला मेथड है उसके बाहर कहीं भी मैं कितने मर्जी मेथड बना सक तो ये एवरेज वाला बना रखा था मैंने इसको भी बना सकता हूं मैं यहां पर इस एवरेज वाले को हम खैर बाद में देखेंगे लेकिन अभी फिलहाल हम नॉर्मल जो हमारा ग्रीड वाला मेथड है इसको देख सकते हैं आप जितने मर्जी मेथड बना सकते हो ये समझ में आ गया हो लेकिन तो अगेन समझते हैं मेथड के अंदर क्याक चीजें है सबसे पहले हमारा एक्सेस मोडिफाय है एक्सेस मोडिफाय ऑप्शनल होता है इसको हम चाहे तो यहां से हटा भी सकते हैं इस तरीके से हटा दिया यब उसके बाद यह लेकिन जरूरी है लिखना रिटर्न टाइप लिखना जरूरी है अगर कुछ भी आप रिटर्न नहीं करना चाहते तो आप लिखोगे वॉइड उसके बाद फंक्शन का नाम या फिर मेथड का नाम उसके बाद पैरेंस के अंदर आप लोग डालोगे पैरामीटर्स कि यह मेथड क्या-क्या चीजें इनपुट लेगा उसके बाद आप लोगों की मेथड की बॉडी स्टार्ट हो जाएगी यहां से यहां पर मेथड की बॉडी खत्म हो रही होगी समझ में आ रहा है अगर नहीं भी आ रहा है तो एक बार दोबारा देखना मैं दो तीन बार रिपीट कर चुका हूं ऑलरेडी लेकिन अब अगर आपको इसको कॉल करना है तो कॉल करना होगा ठीक है आपने मेथड तो बना लिया इस मेथड को बनाने से कुछ भी नहीं होने वाला मतलब अगर मैं यहां पर इसे रन करूंगा ना देखो मैंने मेन को रन किया यहां पर कुछ भी प्रिंट नहीं हुआ है आप बोलो भ फिर ये बनाया जो है इसका फायदा क्या है मैं बोलूंगा आपने बस बना लिया है ठीक ये तो ऐसा होगा जैसे कि आपने खाना बना के रख लिया है लेकिन खाया नहीं उसे कभी ठीक है या फिर अपने दोस्त को बुला के घर पर रख लिया लेकिन आपने उसे कभी अपने रूम में नहीं बुलाया ठीक है इस तर तो उसको बुलाना पड़ेगा राइट उसको कॉल करना पड़ेगा कि आओ आपका नंबर आ चुका है ऐसे करके तो उसके लिए हमें कॉल करना होता है मेथड्स को तो हम यहां पर देखेंगे मेथड कॉल कैसे करते हैं तो मेथड कॉल देखो होता क्या है ना शुरुआत हमेशा मेन से होती है शुरुआत किसी भी प्रोग्राम की मेन से होगी हमेशा वो भी इसी वाले मेन से होगी एक्जैक्ट ऐसा ही मेन होना चाहिए मतलब उसका सिग्नेचर यही होना चाहिए उसका रिटर्न टाइप आपका वॉइड होना चाहिए उसका नाम आपका मेन होना चाहिए उसके अंदर स्ट्रिंग का एरे इनपुट ले रहा हो इस तरीके से आप लोगों का मेथड होना चाहिए मेन मेथड तभी आपका प्रोग्राम वहीं से चलना स्टार्ट होगा इसको अभी हम रन करेंगे तो आप देखोगे इस मेथड के अंदर कुछ भी नहीं हो रहा मेन के अंदर कुछ भी नहीं हुआ मेन स्टार्ट हुआ मेन खत्म हो गया इसीलिए आपका प्रोग्राम कुछ भी नहीं कर रहा है आप बोले भया फंक्शन तो बना रखा है मैं बोल बना रखा है कॉल नहीं किया राइट तो एक काम करो इस अंदर कॉल करो कॉल करने के लिए क्या करना पड़ता है फंक्शन का नाम लिखो उसके बाद अगर ये कोई पैरामीटर ले रहा है तो अच्छी बात है अदर वाइज कुछ नहीं ले रहा तो खत्म इस तरीके से तो यहां पे कुछ भी पैरामीटर नहीं ले रहा तो हमने इस तरीके से फंक्शन कॉल करा दिया लेकिन आप देख रहे यहां पे एक एरर आ रहा है आप बोलो एरर क्यों आ रहा है तो यहां पर लिखा है नॉन स्टैटिक मेथड ग्रीट कैन नॉट बी रेफरेंस फ्रॉम अ स्टैटिक कांटेक्ट मतलब आपने एक नॉन स्टैटिक मेथड है ग्रीड नॉन स्टैटिक राइट इसके अंदर स्टैटिक नहीं लगाया आपने तो इसके अंदर अगर आप एक बार स्टैटिक लगा दोगे तो वो एरर भी चला जाएगा बेसिकली स्टैटिक मेथड के अंदर से सिर्फ स्ट मेथड ही कॉल किए जा सकते हैं ये इसलिए होता है क्योंकि इनको कॉल करने के लिए किसी ऑब्जेक्ट की तो जरूरत होती नहीं है क्लास के ऑब्जेक्ट की अगर ये क्लास ऑब्जेक्ट समझ में नहीं आ रहा तो टेंशन मत लो बाद में समझ में आएंगी लेकिन मैं आपको बता देता हूं कि इनको कॉल करने के लिए कोई ऑब्जेक्ट बनाने की जरूरत होती नहीं है तो अगर आपने एक बार ऐसा बना दिया एक बार ऐसा स्टैटिक फंक्शन बना दिया जिसके अंदर कोई भी ऑब्जेक्ट की जरूरत नहीं है तो अगला भी वैसे ही होना चाहिए राइट जिसके अंदर ऑब्जेक्ट की जरूरत नहीं है तो अगर ऑब्जेक्ट क्योंकि ऑब्जेक्ट बन नहीं रहा है राइट अगर आप नॉन स्टैटिक बना दोगे तो नॉन स्टैटिक का मतलब होता है इंस्टेंट मतलब इनका इंस्टेंस बनाना जरूरी है क्लास का इसको कॉल करने के लिए क्लास का इंस्टेंस बनाना जरूरी है लेकिन आप चाहते हो बिना इंस्टेंस के ही काम हो जाए तो आपको सारे के सारे फिर स्टैटिक ही बनाने पड़ेंगे क्योंकि कोई भी ऑब्जेक्ट वगैरह बना नहीं रहे हो यहां पे क्लास और ऑब्जेक्ट अगर और ये सब जो मैंने स्टैटिक नॉन स्टैटिक वाली बातें की है अगर ये ऊपर से जा रही है तो टेंशन मत लो धीरे-धीरे करके ऊप्स में समझ में आने लगें ये सारी चीजें जब ऊप्स पढ़ रहे होंगे अभी फिलहाल ये समझ लो बस कि अगर आपको मेन में से किसी भी मेथड को कॉल करना है तो उस मेथड को भी स्टैटिक बनाना पड़ेगा ठीक है तो हमने इस तरीके से ग्रीड को स्टैटिक बना लिया और अब अगर मैं इसे रन करूंगा तो ये चलेगा और इस बार हेलो हेलो वर्ड प्रिंट होगा तो हम यहां पर देख रहे हेलो वर्ल्ड प्रिंट हो रहा है लेकिन अब यहां पर हुआ क्या भया ये कॉल करने के बाद हेलो वर्ड प्रिंट हो गया ये सब क्या चल रहा है तो इसको जरा आप समझते हैं ठीक से कि चल क्या रहा है तो कपोट ऑफ मेथड हम धीरे धीरे करके समझेंगे लेकिन कॉलिंग का मेथड कैसे काम करता है यह समझना जरूरी है कि जब आपने एक मेथड बनाया ना ड नंबर्स नाम से यह सपोज करो य ड नंबर नाम का कोई उने मेथड बनाया हुआ है ठीक है इसको जब हमने कॉल किया तो कॉल करने के बाद मेथड का फ्लो यहां चले जाता है इसको जरा हम अपने वाले एग्जांपल समझते हैं कि मेरा मेन मेथड है ठीक है ये मेरा मेन मेथड है और इसके जस्ट नीचे मैंने ग्रीट मेथड बनाया हुआ था राइट इसके जस्ट नीचे मेरा ग्रीड मेथड बना हुआ था दिस इज माय मेन मेथड एंड दिस इज माय ग्रीट मेथड अब मैंने क्या किया अपने मेन मेथड से ग्रीट मेथड को कॉल कर दिया यहां पर बीच में गई राइट यहां से मैंने ग्रीट मेथड कॉल कर दिया तो होता क्या है ना हमारा स्टार्ट तो मेन मेथड से होता है देखो कोड जब आपने हिट किया रन तो स्टार्ट तो यही होगा ये आपका ग्रीन बटन है रन करने वाला इसने स्टार्ट किया रन करना तो ये रन तो मेन मेथड से ही करेगा एक के बाद एक के बाद एक लाइन चलेंगी आपकी मेन मेथड वाली उसके बाद जैसे ही ग्रीट हिट हुआ तो यहां पर आपका कोड रुक जाएगा नीचे वाली लाइने चलेंगी नहीं नीचे वाली लाइने चलना बंद हो जाएंगी उस टाइम प आपका फंक्शन का एग्जीक्यूशन जो है वो ग्रीड के पास जाएगा उसके बाद ग्रीट मेथड मेमोरी में ढूंढा जाएगा कहां पर है और उसको कॉल किया जाएगा फिर ग्रीट मेथड प आ गए आप उसके बाद ग्रीट में जो भी चीजें लिखी हुई है आपने ग्रीट मेथड का काम होगा उसके बाद जब ग्रीट मेथड का काम खत्म हो जाता है जब भी ग्रीड मेथड काम खत्म हो जाता है या फिर ग्रीड मेथड रिटर्न कर देता है तो उसके बाद आपका एग्जीक्यूशन वापस अगली लाइन पर चले जाता है ठीक है तो अगर आपको यहां पर नंबरिंग देनी है किसी तरीके की तो सपोज करो नंबरिंग ऐसी है कि एक नंबर पे ये है दो नंबर पे ये है तीसरे नंबर पे आपका एक्चुअली यह वाला स्टार्ट हो जाता है तो तीसरा चौथा पांचवा उसके बाद फिर वापस छठे नंबर पे ये स्टार्ट हो जाता है सातव नंबर पे ये इसको अगर कोड में समझना है तो कोड में बहुत इजीली समझ सकते हैं हम सिमिलरली जो मैंने आपको नंबरिंग वाला तरीका बताया उससे एस आउट मैंने किया यहां पर वन सपोज करो मैंने यहां पर टू भी कर दिया उसके बाद मैं यहां पर ग्रीड के बाद करूंगा एस आउट लेट्स से मैं यहां पर थ्री लिख देता हूं ठीक है आपको दिखेगा कि यहां पर थ्री एक्चुअली प्रिंट होने वाला नहीं है टू के बाद 3 फ प्रिंट नहीं होगा नटू के बाद क्या प्रिंट होगा वो जो यहां पर लिखा होगा वो प्रिंट होगा मैं यहां पर लिखता हूं फ और यहां पर लिखता हूं मैं सिक्स तो इसकी आउटपुट आप लोगों को समझ में आ रही होगी क्या प्रिंट होने वाली है देखो होगा ऐसे पहले वन प्रिंट होगा फिर टू प्रिंट होगा फिर में जाएंगे हम ग्रीड वाला अपना काम करेगा तो ग्रीड का काम क्या है फाइव प्रिंट करना हेलो वर्ड प्रिंट करना सिक्स प्रिंट करना उसके बाद यहां से बाहर निकल गए हम जब हम बाहर निकले तो वापस ग्रीड वाली लाइन प आ गए और उसकी अगली लाइन प चलाएंगे फिर थ्री प्रिंट होगा फिर फोर प्रिंट होगा ठीक है तो पूरा का पूरा एग्जीक्यूशन ऐसे रहने वाला है इसको हम रन करके देखेंगे तो आपको और क्लियर समझ में आने वाला है देखो वन प्रिंट हुआ टू प्रिंट हुआ फाइव प्रिंट हुआ यह वाला फिर हेलो व प्रिंट हुआ फिर सिक्स प्रिंट हुआ उसके बाद सिक्स के बाद थ्री प्रिंट हुआ एंड देन फोर प्रिंट हुआ समझ में आ रहा है तो इस तरीके से जो मैंने आपको पूरा यहां समझाया है कि ऐसे-ऐसे चलिए आप जैसे ग्रीड कॉल हुआ तो ग्रीड को ढूंढा गया मेमोरी में और ग्रीड को एग्जीक्यूट किया गया उसके बाद वापस फिर 678 इन सबको किया जाएगा शुरुआत में होता क्या है मैंने आपको बताया था कि कंपाइलेशन स्टेज होती है एंड देन रन वाली स्टेज होती है कंपाइलेशन स्टेज में आपको बाइट कोड में कन्वर्ट किया जाता है कोड को राइट तो उसी टाइम पर लिंकिंग हो जाती है इसकी जावा प्रोग्राम अपने पूरे के पूरे कोड में देख लेता है कि कहां-कहां पर कौन-कौन से फंक्शंस हैं और उनको लिंक कर देता है अपने हिसाब से ठीक है ये लिंकिंग जो है ना यह लिंकर होता है एक हमारे कंपाइलर के अंदर ही जब आप इंजीनियरिंग में कभी कंपाइलर पढ़ोगे वहां पे देखो एक लिंकर भी होता है वो इस तरीके की लिंकिंग करता है कि कहां पे कौन सा फंक्शन कॉल हो रहा है किस तरीके से मुझे लिंक करना है तो वो लिंकिंग हो चुके थे पहले से मेमोरी के अंदर वो थोड़ा कॉम्प्लिकेटेड टॉपिक है उसकी बात नहीं करेंगे लेकिन हां जहां पर जैसे आपने कोई फंक्शन कॉल किया सीधा जो कंट्रोल है वो हमारे उस फंक्शन पर चला जाने वाला है या फिर फंक्शन खत्म हो जाएगा या फिर रिटर्न करेगा उसके बाद आप अपने मेन मेथड में आ जाओगे या फिर कॉलिंग मेथड में आ जाओगे तो दिस इज योर कॉलिंग मेथड जो कॉल कर रहा है एंड दिस इज योर कॉल्ड मेथड जो कि कॉल हुआ है ठीक है ग्रीड को कॉल किया गया है मेन से हो सकता है ग्रीड किसी और मेथड को भी कॉल कर लेता ग्रीड हो सकता है ग्रीड किसी और मेथड को कॉल कर सकता था लेट्स से वॉक वॉक नाम का एक मेथड बना लिया आपने यहां पर तो वॉक मेथड को ग्रीड कॉल कर सकता था इस तरीके से एंड दैट इज फाइन एज वेल वो भी काम करेगा वो भी कोई दिक्कत वाली बात नहीं है तो वक वाला जब खत्म होगा फिर वापस ग्रीड प जाएगा एंड देन ग्रीड खत्म होगा तो कॉलिन ब जाएगा तो इस तरीके से यहां पर हमारे रिकर्स के अंदर रिकर्स के अंदर रिकसिव स्टैक होता है जो हम स्टैक हम पढ़ेंगे स्टैक डाटा स्ट्रक्चर होता है लेकिन आज रिकजन स्टैक आपका बनता रहता है ठीक है कि आपका स्टार्ट हुआ मेन से उसके बाद मेन के ऊपर चला गया एक ग्रीट स्टैक के अंदर फिर ग्रीट ने कॉल कर दिया सपोज करो वक को उसके बाद जब वॉक अपना काम खत्म कर लेगा तो वॉक फिर निकलेगा मेमोरी में से ठीक है स्टैक में से वॉक निकलेगा पहले क्योंकि स्टैक में जो चीज ऊपर से डालती है वो ऊपर से निकलती रहती है फिर आपका ग्रीट निकलेगा मेमोरी में से उसके बाद जब ग्रीट का भी काम खत्म हो गया तो मेन कभ भी जब काम खत्म हो जाएगा तो मेन भी बाहर निकल जाएगा एंड देन इस तरीके से आपका पूरा का पूरा स्टैक एमटी हो जाएगा और आपका फंक्शन यहां पे मतलब पूरा एग्जीक्यूशन खत्म हो जाएगा जब आपका मेन फंक्शन पूरा एंड हो जाएगा तो इस तरीके से पूरा रिकसिव स्टैक काम करता है फंक्शन कॉल काम करती है आई थिंक धीरे-धीरे करके चीजें सेल्स बना रही होंगी अगर नहीं भी बना रही है थोड़ा भी कॉम्प्लिकेटेड लग रहा है तो जस्ट बेयर विद मी धीरे-धीरे करके जितने ज्यादा हम फंक्शन बनाते चलेंगे जितने ज्यादा मेथड बनाते चलेंगे चीजें धीरे-धीरे करके क्लियर होने वाली है अभी हम फिलहाल थोड़ा सा आगे बढ़ते हैं मेथड के अंदर हम बात करते हैं मेथड पैरामीटर्स की इसी के अंदर हम बात कर लेंगे रिटर्न टाइप की भी कि रिटर्न टाइप कैसे काम करता है तो मेथड पैरामीटर्स वैसे हम ऑलरेडी देख चुके हैं ये बेसिकली आपके इनपुट्स होते हैं जो आप फंक्शन के अंदर इनपुट पास कर रहे होते हो जैसे अभी हम बात करेंगे एवरेज वाले कोड की तो एवरेज आप दो नंबर से निकालते हो राइट तो आप उसके अंदर दो चीजें पास करोगे इंट ए देन इंट बी इस तरीके से राइट तो यह दो चीजें जो है यह आपके पैरामीटर्स ही हैं इनको कहते हैं पैरामीटर्स यहां पर लिखा हुआ है अ मेथड पैरामीटर इज अ वैल्यू एक्सेप्टेड बाय द मेथड एज मेंशन अलिर अ मेथड कैन आल्सो हैव एनी नंबर ऑफ पैरामीटर्स तो जैसे मैंने आपको बताया था पहले कि एक मेथड के अंदर जितने मर्जी आप लोग पैरामीटर पास कर सकते हो वो बेसिकली उस फंक्शन की इनपुट हो गई जैसे वो जो अभी सब्जी वाला बताया था ना एग्जांपल जितने मर्जी इसके अंदर आप इनपुट पास कर दो ये आपका बेसिकली एक फंक्शन है राइट ये आपका फंक्शन है कि सब्जी बनाने की प्रोसेस पूरी की पूरी एक फंक्शन हो गई उसके बाद यह आपके पैरामीटर्स हैं और जो फाइनली बनता है आपका वो आपका रिटर्न टाइप है आपने रिटर्न कर दिया आपने फाइनली एक सब्ज रिटर्न कर दी तो ये जो फंक्शन है सब्जी बनाने वाली जो चीज में पूरी रेसिपी है रेसिपी कह सकते हो रेसिपी इज अ फंक्शन ये आप जितनी मर्जी बार कॉल कर सकते हो राइट आपने आज भी सब्जी बना ली आपको 10 दिन बाद सब्जी बनानी है आपको परसों सब्जी बनानी है तो आपने एक रेसिपी बना के रखी हुई है वो रेसिपी आप बार-बार रिपीट नहीं कर रहे आपने ऑलरेडी एक बार रेसिपी बना के रखी हुई है तो आप बस उस रेसिपी को ही फॉलो करते जा रहे हो बार-बार बेसिकली आप उसी फंक्शन को कॉल करते जा रहे हो बार-बार आपने एक रेसिपी बना के रखी हुई है उस रेसिपी के अंदर जो इनपुट्स आते हैं वो आपके पैरामीटर्स हैं एंड देन जो फाइनली आपको मिलता है खाने के लिए वो आपका रिटर्न टाइप है ठीक है तो आई थिंक भूख लगने लग कुछ लोगों को तो खाना खा सकते हो जाके वीडियो थोड़ी सी लंबे होते जा रही है चाय पानी पी लो मैं भी जरा अपना थोड़ा सा पानी वानी पी लेता हूं लेकिन हम इसके बाद बात करने वाले पैरामीटर्स की पैरामीटर्स बेसिकली आप लोग इसके अंदर इनपुट की तरह काम करते हैं एक फंक्शन है उसके अंदर इनपुट की तरह काम करता है राइट जरा इसको एक्चुअल में समझते हैं हमारे कोड के अंदर तो ऑलरेडी मैंने कोड के अंदर वैसे एवरेज वाला बना दिया है इसको बस समझना बाकी रह रहा है तो य आपका फंक्शन है पब्लिक और इसका रिटर्न टाइप है इं इसका फंक्शन का नाम है एवरेज और ये दो चीजें इनपुट लेता है राइट दो पैरामीटर्स इनपुट लेता है a और b इसका काम है एवरेज निकालना तो इंट इसका फंक्शन का नाम रखते हैं मतलब वेरिएबल का नाम रखते हैं एज और ये करेगा a + b डिवा बा 2 ये प्रॉपर आपकी एरिथ मेे एक्सप्रेशन है जो कि आपने देखी होगी ऑलरेडी ठीक है एरिथ मेे िक एक्सप्रेशन इसी तरीके से काम करती है इसके अंदर हमने पेंसिस लगा दिया बिकॉज हम पहले जाते हैं कि a प् ब पहले हो डिवाइड बाय टू बाद में हो ल राइट और जो भी रिजल्ट आ रहा है उसको मैंने इंट में डाल दिया है उसके बाद एंड देन एक बार यह हो गया तो आप यहां पर प्रिंट कर सकते हो अ द एवरेज इज यहां पर सपोज करो मैंने प्रिंट कर दिया एजी अभी फिलहाल के लिए मैं स्टैटिक पब्लिक स्टैटिक वॉइड बनाता हूं इसको ठीक है पब्लिक स्टैटिक वॉइड तो मैंने वॉइड क्यों कर दिया क्योंकि मैं कुछ रिटर्न नहीं कराना चाहता यहां से फिलहाल ठीक है अभी मैं बस एवरेज ले रहा हूं उसके बाद मैं एवरेज को प्रिंट करा दे रहा हूं बस और कुछ नहीं कर रहा तो अब हम क्या कर सकते हैं ये ग्रीड वाली चीज को तो मैं हटाता हूं तो मैं यहां से हटा दूंगा इसे और यहां पे मैं एवरेज को कॉल करता हूं एवरेज ऑफ लेट्स से फोर एंड सिक्स तोहे पता है फोर और सिक्स का एवरेज क्या होने वाला यू ऑल नो दिस दिस इज गोइंग टू बी फाइव राइट 4 + 6 10 / 2 5 राइट तो ये आपने एवरेज निकाल दिया है और फंक्शन बनाने का फायदा भी ये हुआ है कि आप एक बार एवरेज निकाल सकते हो उसके बाद हो सकता है कि कुछ काम करो और आपने कुछ और काम किया हेलो उसके बाद आपने इसके नीचे भी एवरेज निकाल दिया दो नंबर्स का इस बार आपने सपोज करो ट और सेन का निकाल दिया अब रन करते दोबारा से तो वही पहले 46 का एवरेज निकलेगा फ फिर हेलो प्रिंट हुआ फिर 2 और से का एवरेज फोर आ गया आप बो 2 और से का एवरेज तो 4.5 होना चाहिए था ये फोर कैसे हो गया ऑलरेडी बता रखा है आप लोगों को ठीक है कि आपका जो रिजल्ट है यहां पर यह इंट में स्टोर हो रहा है आप आपका जो सम होने के बाद रिजल्ट है वो आपका इंट में स्टोर हो रहा है और इंट के अंदर ये फ्लोट और ब डबल वाली वैल्यू नहीं आ सकती है तो इसलिए यहां पे 4.5 नहीं फोर मिल रहा है आपको व्हिच इज द फ्लोर वैल्यू तो हमेशा फ्लोर वैल्यू मिलेगी 4.5 का फाइव नहीं मिलेगा आपको फोर मिलेगा हमेशा तो ये हमारे फंक्शंस हैं आपको दिख रहा होगा जिसके अंदर आप लोग इस तरीके से पैरामीटर्स पास कर पा रहे हो और ये पैरामीटर्स आप जितने मर्जी पास कर सकते हो जैसे अभी फिलहाल हम सिर्फ दो नंबर का एवरेज निकाल रहे हैं लेकिन व्हाट इफ हमें तीन नंबर्स का निकालना हूं कोई बात नहीं तीसरा पैरामीटर भी ले लो आप अलग-अलग टाइप का पैरामीटर लेना चाहते हो मे बी आप एक बलिन लेना चाहते हो शुड एवरेज इस तरीके से कि क्या एवरेज करना चाहिए बेसिकली आप लोग जितने मर्जी पैरामीटर्स पास कर सकते हैं यहां पर लेकिन जब भी आप फंक्शन कॉल करते हो तो उसके अंदर वह पैरामीटर्स पास करने भी जरूरी है और जितने नंबर ऑफ पैरामीटर्स आपने यहां पे बोले हैं उतने नंबर ऑफ पैरामीटर्स और एगजैक्टली उस उस जगह पे वो पैरामीटर्स पास कर रहे हैं यहां पे एक चीज़ आप देख रहे होंगे कि यहां पे a के बाद कलन लगा है b के बाद कलन लगा है इसको आप इग्नोर कर दो ये सिर्फ इंटेलीज ने अपने हिसाब से लगा दिया ये एक्चुअली यहां पर लिखा हुआ नहीं है ये इंटेलीज आपको बस बताना चाह रहा है कि यार ये जो चीज है ना ये a है ये चीज जो है वो बी है ये क्यों बता रहा है आपको ऐसा क्योंकि कई बार होता है कोड के अंदर फंक्शन के अंदर बहुत सारे पैरामीटर्स आते हैं 1718 पैरामीटर्स आते हैं तो उस टाइम पर ट्रैक रखना थोड़ा मुश्किल हो जाता है कि कौन सा वाला पैरामीटर कहां पास हो रहा है तो इंटेलीजें उस केस में हमारी बस हेल्प कर देता है कि देखो जो आपने ये वाला पैरामीटर था ये a के लिए है यह वाला पैरामीटर आपके b के लिए है लेकिन जो आपने फंक्शन बनाया है एवरेज वाला यह तो तीन पैरा मीटर एक्सपेक्ट कर रहा है आपसे और आपने जो पास किया सिर्फ दो पैरामीटर पास किए तो इसलिए आपको यहां पर एरर मिल रहा है लिखा आ रहा है एक्सपेक्टेड थ्री आर्गुमेंट बट फाउंड टू आर्गुमेंट क लो पैरामीटर्स क लो बात एक ही है आपसे तीन आर्गुमेंट एक्सपेक्ट किए गए थे लेकिन हमें सिर्फ दो मिले हैं तो ऐसा क्यों कर रहे हो आप एक तीसरा पैरामीटर पास करो तो मैं आप अगर पास कर देता हूं 12 23 तो क्या ये चलेगा ये नहीं चलेगा क्यों नहीं चलेगा क्योंकि शुड एवरेज एक बोलियन टाइप का है तो जिस टाइप का आप पैरामीटर यहां पर बोल रहे हो फंक्शन एक्सेप्ट कर सकता है सिर्फ उस टाइप का पैरामीटर पास करो अब पटर पनीर की सब्जी आपको बनानी है उसके अंदर बोला गया है इंग्रेडिएंट्स से तो तो आपको जो बोला गया है डेटा टाइप सिर्फ उसी डेटा टाइप को डालना है तो शुड एवरेज इज अ बुलियन डेटा टाइप यू कैन ओनली पुट फाल्स या ट्रू इस टाइप की वैल्यू सिमिलरली यहां पर सपोज करो मैंने ट्रू डाल दिया तो इस तरीके से आप लोगों ने तीसरा वेरिएबल भी यूज कर लिया तीसरा आर्गुमेंट भी यूज कर लिया है ठीक है एक चीज और आप क्वेश्चन पूछ सकते हैं कि भाई ये फिर स्ट्रिंग एरे आर्गुमेंट इसका क्या मतलब होता है और ये बाय डिफॉल्ट क्यों डालना होता है तो यार ये ना डालना ही होता है मेन मेथड जो होता है ना वो बोलता है कि जब मुझे कॉल किया जा रहा है तो मेरे अंदर बाय डिफॉल्ट कुछ पैरामीटर पास किए जा सकते हैं जो कि हो सकता है आप यूज़ करें आपका कोड यूज करें कहीं पे ठीक है तो जब आप अपना फंक्शन रन कर रहे हो जब अपना कोड रन कर रहे हो तो उसको आप कुछ इनपुट पैरामीटर दे सकते हो पहले से ही कि ले इनके ऊपर काम कर जैसे कि अगर आपको यहां पर देना है तो आप बोलोगे भैया मैं कहां दूं मैं तो सीधा रन कर देता हूं तो मैं बोलूंगा यूजुअली तो होता क्या है ना जब आप टर्मिनल में लिखते हो तो आप वहां पर ऐसे पैरामीटर पास कर सकते हो बट उतना डीप में जाने की जरूरत नहीं है आप लोग इंटेलीज के अंदर क्या कर सकते हो ना यहां पर क्लिक किया आपने एंड देन आप कॉन्फिन में गए आप लर्न मेथड्स वाली कॉन्फिन में गए लर्न मेथड कॉन्फिन ठीक है इसके अंदर ये देख रहे हो तीन डॉट्स इन पर क्लिक किया आपने और एडिट कन्फेशन पर क्लिक किया तो यहां पर आप प्रोग्राम आर्गुमेंट पास कर सकते हो य आपके प्रोग्राम के आर्गुमेंट ही है तो यहां पर आप पास कर सकते हो एक स्ट्रिंग का एरे ठीक है स्ट्रिंग का एरे क्या होगा बेसिकली बहुत स वर्ड्स तो यहां पर आप स्ट्रिंग का एरे पास कर सकते हो लेट्स से दिस इज द एरे ऑफ स्ट्रिंग्स तो यहां पर जितनी भी चीज है ना स्पेस के बाद यह सब के सब आपके स्ट्रिंग्स बनते जा रहे हैं पहला स्ट्रिंग दिस है दूसरा स्ट्रिंग इज है तीसरा स्ट्रिंग द है इस तरीके से हमारे मल्टीपल पैरामीटर बनते आ रहे हैं आप लोग चाहो तो इसको एक्सपेंड कर सकते हो इस तरीके से और यहां पर कुछ कुछ और लिख सकते कि जैसे मेरी पहली स्ट्रिंग य है दिस इज नाइस और या फिर दिस विल बी नाइस इस तरीके से कुछ कुछ मैंने बना यहां पर इसको हम रन करते हैं अब तो अब आप देखोगे कुछ पता तो चला नहीं क्यों नहीं पता चला क्योंकि आपने आर्गुमेंट को प्रिंट नहीं करा के देखा राइट तो ऐसा करते हैं इस आर्गुमेंट को प्रिंट कराते हैं तो क्योंकि ये एक एरे है स्ट्रिंग का एरे है तो आप ऐसे प्रिंट करागे इसको एस आउट आर्स और लेट्स से जीरो कि मेरे को जीरो पोशन पर जो आर्गुमेंट है वो प्रिंट कराना है तो इसको रन करते हैं तो आपको जो पहली स्ट्रिंग थी वो मिल जाएगी वच इज दिस अब दिस क्यों मिली मैंने तो यहां पर काफी कुछ पास किया था ठीक है आप एक बार और जाओ इस के अंदर लर्न मेथड्स के अंदर यहां तो भैया मैंने ये सब पास किया था दिस विल बी नाइस इज द एरे ऑफ स्ट्रिंग यस ऐसे करके मतलब बहुत कुछ मैंने पास किया था राइट तो बेसिकली होता क्या ना यार ये आपका एकएक करके वर्ड बाय वर्ड ही जा रहा होता है ठीक है इस तरीके से ही जा रहा होता है ये तो आपको जो पहली चीज मिलेगी वो दिस ही मिलने वाली है अगर आपको सारे के सारे प्रिंट करने हैं तो उसके लिए तो आप फॉर ईच रूप लगा सकते हो फॉर एवरी ये बस मैं आपको एक्स्ट्रा बता रहा हूं फॉर एवरी आर्गुमेंट इन आर्गुमेंट अगर आप प्रिंट कराना चाहते हो इसको तो आप प्रिंट करा सकते हो बाय राइटिंग आर्गुमेंट इस तरीके से अगर हम इसे रन करेंगे तो जो भी आपने वहां प आर्गुमेंट पास किए थे दिस विल बी नाइस ये वो पूरा का पूरा आपका यहां पर प्रिंट हो गया तो यहां पर भी आपके जो आर्गुमेंट होते हैं ये काम में आते हैं ये बस ऐसे हवाहवा में नहीं लिखती है ये जावा ने बोल रखा है कि क्या पता किसी को मेन मेथड कॉल कराते टाइम भी कुछ आर्गुमेंट चाहिए हो यूजर से राइट तो उस टाइम पर वो आर्गुमेंट इस तरीके से आप पास कर सकते हो अपने कोड के अंदर तो ये सारे आपके मेथड के आई थिंक मेथड का पूरा का पूरा सिग्नेचर समझ में आ रहा होगा पब्लिक जो है वो आपका एक्सेस मोडिफाय है कि ये वाला जो फंक्शन है आप इस क्लास के बाहर दूसरी क्लास से एक्सेस कर सकते हो तो ये तो अभी हम नहीं देखेंगे कि हमने दूसरी क्लास तो बना ही नहीं अभी तो इसका कुछ समझने का मतलब है नहीं ये हम समझेंगे पब्स के अंदर ठीक है जब हम मल्टीपल क्लासेस बना रहे होंगे स्टैटिक की जरूरत क्यों होती है क्योंकि आपको यह फंक्शन रन करने के लिए ये जो आपका कोड है ये रन करने के लिए आपको किसी भी क्लास के ऑब्जेक्ट को बनाने की जरूरत नहीं है आप नहीं चाहते कि मैं नॉर्मल सा कोड रन करूं उसके लिए भी मुझे क्लास का ऑब्जेक्ट बनाना पड़े अभी क्लास का ऑब्जेक्ट क्या ये अगेन हम पफ्स में पढ़ेंगे लेकिन आप बिना ऑब्जेक्ट बनाए फंक्शन को रन कर पाओ इसीलिए ये स्टैटिक बनाया जाता है उसके बाद ये आपका रिटर्न टाइप होता है कि आपका फंक्शन क्या रिटर्न करने वाला है अगर कुछ भी रिटर्न नहीं करेगा तो उस केस में वॉइड लिखना पड़ेगा लेकिन लिखना जरूर पड़ेगा ठीक है उसके बाद आप कुछ रिटर्न नहीं कर सकते उस जगह से जैसे अगर मैं यहां से रिटर्न करना चाहूं रिटर्न फ तो दिस इज नॉट अलाउड यू कैन नॉट रिटर्न एनीथिंग ठीक है आपका फंक्शन अब कुछ रिटर्न नहीं कर सकता यहां से क्योंकि आपने बोला है रिटर्न टाइप वॉइड तो मेन मेथड कुछ भी रिटर्न नहीं कर सकता लेकिन ये आप लिख सकते हो रिटर्न है एमटी ठीक है रिटर्न एमटी आप लिख सकते हो अभी वैसे रिटर्न की हम बात करेंगे थोड़ी और लेकिन इसको मैं यहां से हटा देता हूं उसके बाद ये वॉइड है बेसिकली कुछ भी रिटर्न नहीं करना आपको एमटी रिटर्न करना है देन मेन आपका मेन मेथड का नाम है और उसके बाद आप इसके अंदर स्ट्रिंग का एरे पास कर रहे होगे ये आपका वेरिएबल नेम है इसको आप कुछ भी लिख सकते हो मतलब यहां पे कुछ भी लिख सकते हो फर्क नहीं पड़ता बिकॉज़ ये तो आपका पास वेरिएबल का नाम है राइट यहां पर सिमिलरली यहां पे भी चेंज करना होगा तो जो यहां लिखा है वो यहां लिख दोगे अभी भी ये पूरा का पूरा कोड काम करेगा अभी भी इसको कोई दिक्कत नहीं है क्योंकि ये तो बस वेरिएबल का नाम आपने चेंज किया राइट ओके अब जरा रिटर्न टाइप की हम थोड़ी सी और बात कर लेते हैं कि आपने चलो अपना काम कर लिया ठीक है आपने दो नंबर्स का एवरेज ले लिया लेकिन आप चाहते हो कि जहां से आपने इस फंक्शन को कॉल किया है ना च इज दिस फंक्शन एवरेज इसको इस रिटर्न वैल्यू से कुछ और काम करना था मे बी एवरेज लेने के बाद इसको अगला कुछ और काम करना है एवरेज ले लिया उसके बाद स्टूडेंट के मार्क्स को अपडेट करना है राइट कुछ और ऑपरेशन करना है उस एवरेज के साथ तो इसका मतलब उसे उस एवरेज वाली वैल्यू की जरूरत है इस मेन मेथड को एवरेज निकलवाने के बाद एवरेज जरूरत है कुछ और काम करने के लिए तो आपको उस केस में एवरेज को रिटर्न करना पड़ेगा क्योंकि अभी सिर्फ आप प्रिंट कर दे रहे हो एवरेज को ठीक है आपने बस एवरेज य प्रिंट कर दिया तो मुझे यहां तो एवरेज मिलेगा नहीं राइट क्योंकि जो एवरेज नाम का वेरिएबल है यह तो सिर्फ इसी क्लास के अंदर है ठीक है व जो मैंने आपको स्टैक बना के दिखाया था ना यहां पर एक बार जरा दोबारा समझेंगे इस चीज को जो मैंने आपको य पर स्टैक बना के दिखाया था जो आपका स्टैक होता है इसके अंदर आपने मेन मेथड लिया उसके बाद जब आपने इसके दूसरा मेथड डाला वि इज ग्रीट या फिर ग्रीट नहीं आपने सपोज करो एवरेज डाला आपने एवरेज वाला मेथड डाला तो एवरेज वाले मेथड के अंदर जो भी वेरिएबल आपने बनाए थे इसके अंदर वो सारे के सारे यहां पर आपकी मेमोरी में चले जाएंगे ठीक है आपने बनाया एक एवरेज नाम का वेरिएबल अब ये जो एवरेज नाम का वेरिएबल आपने बनाया था इस एवरेज नाम के फंक्शन के अंदर ये उड़ जाएगा मेमोरी में से जब अपना फंक्शनल काम खत्म हो गया ना तो ये जो भी वेरिएबल बने थे ना वो सारे के सारे भी मेमोरी में से उड़ जाएंगे यह बात समझो य जो भी आपने यहां पर बनाया था ये सब चला जाएगा मेमोरी में से ठीक है तो कुछ भी नहीं मिलने वाला मेन को मतलब मेन के अंदर अगर कभी आप एवरेज वगैरह लिखना चाहो आप यहां पर ऐसा लिखो इ मतलब यहां से सपोज करो आपको सोचो कि एवरेज मिलेगा या फिर यह जो एवीजी है यह मैं यहां पर यूज कर सकता हूं बिना बनाए नॉट अलाउड एवीजी कैसे लिख दे रहे हो भाई बना ई नहीं कहीं प यही बोलेगा मेन मेथड में तो कहीं एवरेज बनाई नहीं आप बोलोगे नहीं नहीं एवरेज वाले फंक्शन ने बनाया तो था एवीजी उसको यूज कर लो मैं बोलूंगा नहीं ये जो एवीजी है ये सिर्फ इसी ब्लॉक के अंदर था और इसी ब्लॉक के अंदर चला आ गया ये ये जब फंक्शन कॉल हुआ फंक्शन कॉल खत्म हुई उसके बाद ये एवीजी चला गया मेमोरी में से ये नहीं बचा ए बीजी तो अगर आपको ये चाहिए एवीजी लेकिन तो उसके लिए आप बोलोगे भाई सुनो प्रिंट मत कराओ बस रिटर्न कर दो प्रिंट वगैरह या फिर जो भी काम कर ना है एक्स्ट्रा वो मैं खुद कर लूंगा अपने आप ठीक है तो आप बोलोगे रिटर्न एजी क्योंकि एक ही वैल्यू आप रिटर्न कर सकते हो तो मैंने इंट वैल्यू रिटर्न कर दी यहां से अब यहां से रिटर्न कर रहे हैं कुछ तो यहां पर रिटर्न टाइप वॉइड नहीं हो सकता रिटर्न टाइप होगा इंट क्योंकि आप रिटर्न कर रहे हो इंट ठीक है आप इंट रिटर्न कर रहे हो तो अब आप उस इंट वैल्यू को यहां पर यूज कर सकते हो आप बोलोगे इंट एजी इक्वल टू दिस कि जो भी ये फंक्शन रिटर्न कर रहा है उस वैल्यू को लो और एवीजी में डाल दो यहां पर कुछ और भी नाम रख सकते थे ठीक है कि एवरेज फ्रॉम फंक्शन मतलब ये तो वेरिएबल नेम है राइट ये तो वेरिएबल नेम है कुछ भी नहीं है तो यहां से जो भी रिटर्न हुआ इस फंक्शन ने जो भी रिटर्न किया इस फंक्शन ने क्या रिटर्न किया इस फंशन ने रिटर्न कि ये एजी यह वैल्यू रिटर्न कर रहा है राइट ये वेरिएबल तो रिटर्न कर नहीं रहा ये इसके अंदर की वल्य व को रिटर्न करेगा तो एवरेज के अंदर की जो भी वैल्यू होगी वो यहां से मिलेगी और वो वैल्यू मैंने इस नाम के वेरिएबल में डाल दि है अब यह मुझे यहां पर मिल गई है तो मैं इसको यहां प्रिंट करा सकता हूं सपोज करो मैं यहां पर ऐसे प्रिंट कराता हूं इसे कि मैंने पहले हेलो प्रिंट करा लिया उसके बाद यहां पे एवरेज फ्रॉम फंक्शन प्रिंट कराऊंगा तो अब ये मेरा कोड काम करेगा इसको जरा हम ठीक से समझेंगे एक बार और कि चल क्या रहा है यहां पर लेकिन आप देखोगे मैं काम करता हूं ऊपर वाली चीजों को तो मैं कमेंट कर देता हूं रन करते हैं आप देखोगे पहले तो हेलो प्रिंट हुआ जो कि हेलो प्रिंट होना चाहिए था उसके बाद एवरेज फ्रॉम फंक्शन यहां पर प्रिंट हो रहा फ कि वो जो वैल्यू आपको चाहिए थी ये जो वैल्यू आपको चाहिए थी ना कि कुछ और काम करना था तो लो आप जो काम करना है कर लो तो आप बोलोगे मैंने कर तो दिया मैंने प्रिंट कर दिया यहां पे या फिर अगर मुझे इसको डबल करना था तो मैं डबल भी कर दूंगा डबल ऑफ एवरेज इक्वल टू एवरेज फ्रॉम फंक्शन या उसको मल्टीप्लाई बाय टू कर दिया उसके बाद ये जो डबल है आप ये डबल यहां पर प्रिंट करा दो मतलब मैं कहना चाह रहा हूं कि यहां से जो भी वैल्यू मिली है उसके साथ आप कुछ भी काम आप कर सकते हो अब क्योंकि आपको ये वैल्यू तो मिल गई यहां से ये व क्यों मिल पाए क्योंकि आप इस तरीके से रिटर्न कर पाए तो रिटर्न करने के लिए आपका कीवर्ड होता है रिटर्न इस तरीके से आप रिटर्न कर सकते हो और रिटर्न सिर्फ आप एक ही बार करोगे और एक बार जब आपने रिटर्न कर दिया एक बार जब ये रिटर्न वाली कंडीशन हिट हो गई तो आप उसके बाद अपने फंक्शन से बाहर निकल जाओगे रिटर्न स्टेटमेंट का मतलब है कि इसके बाद इस फंक्शन में आप कुछ नहीं बचा इसका मतलब अगर आप इस फंक्शन के नीचे कुछ हेलो वर्ल्ड वगैरह प्रिंट कराना चाहो सपोज करो आपने एक चीज तो हेलो ऊपर प्रिंट करा दी कि रिटर्निंग दी एवरेज उसके बा सोचो कि रिटर्न के बाद भी कुछ लिखने का ट्राई कर देता हूं मैं यहां पे कि आफ्टर द रिटर्न तो यहां पर देखो पहले से ही एरर मिल रहा है और ये क्यों मिल रहा है क्योंकि अनरीचेबल कोड है यहां पर देखो अनरीचेबल स्टेटमेंट लिखा आ रहा है कि आप एक बार जब रिटर्न लिख देते हो तो रिटर्न के बाद कुछ भी लिख रहे हो दिस इज अनरीचेबल यू कैन नॉट यू कैन नॉट प्रिंट दिस या फिर यू कैन नॉट एग्जीक्यूट दिस बिकॉज एक बार जैसे ही रिटर्न मिलता है वैसे ही आप बाहर निकल जाते हो इस फंक्शन से अपने कॉलिंग फंक्शन में चले आते हो ठीक है तो ये आपका अनरीचेबल कोड हो गया अनरीचेबल स्टेटमेंट हो गई इसीलिए यहां पे हमें एरर मिल रहा है और अगर आप इसे रन करोगे तो कंपाइल टाइम पे आपको एरर मिल जाएगा चच इज दिस बिल्ड करने के टाइम पे मिल गया कि अनरीचेबल स्टेटमेंट ठीक है नॉट अलाउड यू कैन नॉट राइट अनरीचेबल स्टेटमेंट्स तो इस लाइन को हम यहां से हटा देते हैं अब हमारा कोड चलेगा एक बार जरा दोबारा से समझते हैं इसको इसी तरीके से अगेन हम समझेंगे अगर समझ में नहीं आया तो टेंशन मत लो दोबारा समझेंगे कि आपने बनाया एवरेज नाम का फंक्शन जिसका काम है कुछ रिटर्न करने का राइट यह कुछ रिटर्न भी कर रहा है यह रिटर्न कर रहा है एक वेरिएबल चच इज एवरेज वेरिएबल रिटर्न नहीं कर रहा बेसिकली वैल्यू रिटर्न कर रहा है ठीक है तो ये जो एवरेज वाला फंक्शन है ये यहां पर है राइट सपोज करो ये एवरेज वाला जो फंक्शन है ये यहां पर है उसके बाद मेरा मेन वाला फंक्शन जो है वो यहां पर कहीं है इस मेन वाले फंक्शन ने एवरी वाले फंक्शन कॉल किया इसने इसको कुछ रिटर्न किया उसके बाद इसने जो भी वेरिएबल बनाए थे अपने लिए अपने छोटे मोटे जो भी वेरिएबल बनाए थे इसने वो सब वेरिएबल नष्ट हो जाने वाले हैं डिस्ट्रॉय हो जाने वाले हैं हट जाने वाले हैं मेमोरी में से उसके बाद ये वेरिएबल आप यूज नहीं कर सकते लेकिन जो वैल्यू उसने रिटर्न करी है वो आप चाहो तो मेन के अंदर संभाल के रख सकते हो आप अपने इंट एजी इक्व टू जो भी यहां से रिटर्न हो रहा है वो आप संभाल के रख सकते हो इस इस वेरिएबल के अंदर और इस वेरिएबल के अंदर वो कंटिन्यू रहेगी ठीक है यहां पे ये जो भी मेमोरी है इसकी एवरेज नाम का वेरिएबल उस मेमोरी के अंदर स्टोर रहेगा तो बेसिकली फंक्शन कॉल किया फंक्शन एग्जीक्यूट हुआ फंक्शन ने पैरामीटर के ऊपर कुछ काम किया उसके बाद कुछ रिटर्न किया उस रिटर्न टाइप को आप यहां पर यूज कर सकते हो जितनी मर्जी बा भी ये होता है बेसिक पूरा का पूरा काम और एक बार जब रिटर्न स्टेटमेंट हो गई उसके बाद आपका फंक्शन बाहर आने ही वाला है ठीक है उसके बाद आपका फंक्शन बाहर आएगा ही आएगा चाहे आपने कितना ही कुछ लिखा हो नीचे एक और तरीके से समझते हैं इस चीज को कि सपोज करो अ यहां पर मैंने एक बोलियन लिया है राइट शुड एवरेज तो अगर ये शुड एवरेज की वैल्यू फॉल्स है इफ शुड एवरेज इक्वल्स टू फॉल्स तो मैं बोलूंगा रिटर्न कि अगर कभी भी शुड एवरेज फॉल्स लगता है आपको तो रिटर्न कर जाओ रिटर्न कर दो यहां से लेट्स से -1 क्योंकि आपको इंट रिटर्न करना है यहां से ठीक है तो -1 लिख दिया मैंने इसका मतलब कि अगर आप एवरेज नहीं करना चाहते तो उस केस में -1 रिटर्न कर दो क्योंकि आप एवरेज तो नहीं करना चाहते राइट तो आप यहां से एवरेज तो रिटर्न करोगे नहीं तो आप पहले ही बाहर निकल गए कोड में से तो इसका मतलब जब आपने यह वाली कंडीशन हिट हो गई या फिर आपने जब रिटर्न -1 कर रहे हो तो उसके बाद नीचे जितना भी कुछ लिखा हुआ है वह सब एग्जीक्यूट नहीं होगा इसी जगह से आपका कोड बाहर निकल जाएगा देखो यहां पे हमने एवरेज वाला फंक्शन कॉल किया हुआ है और शुड एवरेज की वैल्यू यहां पर फॉल्स है राइट तो इस बार आप देखोगे कि आपका एवरेज फ्रॉम द फंक्शन -1 आएगा और मा म बाट च इ माइट प्रिंट होने वाला है माइट प्रिंट हो रहा है समझ में आ रहा है क्या हुआ ये क्योंकि शुड एवरेज की वैल्यू यहां पर फॉल्स है फॉल्स है तो इसका मतलब शुड एवरेज फॉल्स यह वाली चीज हो गई ट्रू ठीक है और आपने रिटर्न कर दिया माइव यही से बाहर निकल गए आप आपने नीचे कुछ लिखा ही नहीं नीचे जो भी लिखा था वह सब देखा ही नहीं रिटर्न स्टेटमेंट जैसे ही हिट होती है आप फंक्शन से बाहर चले आते हो इस बात को समझना है एक चीज और समझ लो कि सपोज करो मैं यहां पर लिख दिया मैंने रिटर्न स्टेटमेंट खत्म बात लिख दिया मैंने तो आप यहां से ही बाहर निकल जाओगे ये सब जो भी लिखा हुआ है ना ये अनरीचेबल कोड हो गया इसके बाद वाला और ये इसलिए एरर भी दे रहा है क्योंकि अनरीचेबल स्टेटमेंट है तो ये यहां पर काम नहीं करेगा जहां भी आप रिटर्न लगा दोगे वहां से आप बाहर निकल जाओगे बेसिकली ये कहना चाहता हूं मैं तो इसीलिए यहां से बाहर निकल गया अगर यहां पर मैं कर दूंगा ट्रू कि नहीं भाई एवरेज तो करना चाहिए शुड एवरेज तो रिटर्न करो तो मुझे एवरेज मिल जाएगा इस बार और एवरेज का डबल मिल जाएगा तो एवरेज था फाइव फव का डबल 10 इस बार ये काम कर रहा है क्योंकि ये वाली कंडीशन हिट नहीं हुई तो ये यहां से रिटर्न नहीं हुआ यहां से रिटन हुआ है ठीक है और यह जो यह वाला फंक्शन जो था ना इसके अंदर यहां पर भी समझ लो इस चीज को कि यह वाला जो फंक्शन था ग्रीड वाला फंक्शन इसके अंदर आपने कुछ भी रिटर्न नहीं किया राइट कुछ भी रिटर्न नहीं किया आप चाहो तो यहां से भी रिटर्न कर सकते थे एमटी चीज ऐसे ऐसे भी रिटर्न करोगे तो भी काम चल जाएगा लेकिन इसके बाद नीचे वाली लाइन में एरर आ रहा है अगेन वही इसी रीजन से क्योंकि अनरीचेबल स्टेटमेंट है इस लाइन को लेकिन अगर मैं नीचे लेके चला जाऊं मतलब यहां पे तो भी ये काम करेगा और यहां पर देखो ये ग्रे हो गया है ये कह रहा है अननेसेसरी है ये लास्ट स्टेटमेंट में क्योंकि लास्ट स्टेटमेंट है रिटर्न कुछ फायदा ही नहीं क्योंकि यहां से रिटर्न वैसे ही करना है इसको तो आप इसे लिखो या ना लिखो एक ही बात है लेकिन बाय डिफॉल्ट अपने आप ही कंपाइलर इसको लिख देता है आपके लिए ठीक है आप लिखोगे नहीं तो भी माना जाएगा कि हां यहां से रिटर्न हो ही रहा है क्योंकि लास्ट स्टेटमेंट है यहां से रिटर्न होके वापस जाना हीय कॉलिंग फंक्शन के अंदर तो लिखो या ना लिखो एक ही बात है तो आप चाहो तो यहां पर रिटर्न लिख सकते हो या फिर ना भी लिखो एक ही बात है आई थिंक धीरे-धीरे करके यह रिटर्न पैरामीटर्स पूरा का पूरा फंक्शन वाली चीज सेंस बना रही होगी लेकिन अगर भी समझ में नहीं आ रहा है तो मैं बोलूंगा दोबारा देखना अगर तब भी समझ आए तो पूछो हमसे ठीक है पूछो आपकी पूरी हेल्प करने का ट्राई किया जाएगा अ कहीं भी अगर दिक्कत आ रही है तो लेकिन यस दिस इज ऑल अबाउट योर फंक्शंस एंड दिस इज ऑल अबाउट योर पैरामीटर्स फंक्शंस को और बहुत ज्यादा यूज़ कर रहे होंगे हम हमारे जितने भी कोड है जैसे मैंने आपको बताया सारे के सारा फंक्शंस के ऊपर ही चल रहा है तो हम सारी सारी जगह पर फंक्शंस ही देख रहे होंगे लेकिन अब थोड़ा सा और आगे बढ़ते हैं और इसका रियल यूज़ केस समझने का ट्राई करते हैं ठीक है उसके लिए हम देखेंगे इस मैथ क्लास को मैथ क्लास के अंदर फंक्शन आपके बहुत ज्यादा हैवली यूज़ किए जाते हैं मैथ क्लास के अंदर आपके लिए कुछ इनबिल्ट फंक्शन बनाए हुए हैं जैसे हमने देखा था एवरेज वाला राइट हमने एक एवरेज नाम का फंक्शन बनाया था सिमिलरली आपके मिन मैक्स स्क्वायर रूट पावर एब्सलूट वैल्यू रैंडम वैल्यू फ्लोर सील राउंड इस टाइप के कुछ फंक्शन दे रखे हैं इसके अंदर और साथ में एक आपको पूरी की पूरी लिस्ट चाहिए तो यहां पर आपको मिल जाएगी इस पर बस क्लिक करना एंड यू विल गेट द होल लिस्ट बेसिकली ये एक मैथ क्लास है ठीक है मैथ नाम की क्लास जेडी के के अंदर ऑलरेडी बनी हुई है तो आपको नहीं बनानी पड़ेगी आपके पास ऑलरेडी एक क्लास बनी हुई है और साथ में यह फंक्शन भी ऑलरेडी लिखे हुए हैं आप केलिए है इनके अंदर जो भी लॉजिक है बड़ा सिंपल है आपको पता ही चल रहा होगा आप चाहो तो खुद से भी बना सकते हो राइट मैं अग आपको बोलूं कि कैसा फंक्शन बनाओ जो कि दो नंबर ले और उनका सबसे छोटा वैल्यू रिटर्न करे तो आप बना दोगे बड़े आराम से राइट आप बोलोगे अरे कुछ नहीं करना भैया इसके अंदर तो स्टैटिक इंट उसके बाद उसका नाम मैं रख देता हूं लेट्स से मिनिमम दो नंबर लेगा ये लेट्स से ए और बी इसने दो नंबर लिए और इनके अंदर से जो छोटा वैल्यू है वो रिटर्न करना है राइट तो कुछ नहीं करना इफ ए इज लेन बी रिटर्न ए अदर वाइज रिटर्न बी राइट ये तो मैं ऐसे कर सकता हूं या फिर मैं चाहू तो इसको चेंज कर सकता हूं टरनरी ऑपरेटर से भी ये फ कह रहा है या फिर कैन बी रिप्लेस विद मैथड मन कॉल कोई बात नहीं अभी हम देखेंगे मैथड मन पहले से मत बताओ हमें लेकिन आप चाहो तो इसको ऐसे भी लिख सकते हो कि रिटर्न a अगर छोटा है बी से तो a अदर वाइज बी ठीक है बड़ा सिंपल सा था अगर a छोटा है बी से तो ए अदर वाइज बी ये दोबारा से कह रहा है कि मैथड मन से रिप्लेस कर सकते हो आप इसको बट वो सब अभी हम देख लेंगे मैथड मन वगैरह तो ये हमने फंक्शन देख लिया राइट इसी टाइप के छोटे-छोटे फंक्शन आपकी मैथ क्लास है पूरी की पूरी एक जैसे हमने एक क्लास बनाई है ना अपने लिए 11 मेथड इसी तरीके से मैथ नाम की क्लास ऑलरेडी बन रखी है आपके लिए आप उसको सीधा यूज कर सकते हो उसके अंदर के फंक्शन को सीधा यूज कर सकते हो और मैं रिकमेंड भी करूंगा ये यूज करना क्योंकि आप जब कोई फंक्शन बनाओगे तो उसके अंदर हो सकता है आपने कुछ गड़बड़ कर दी हो उसके अंदर गलती के चांसेस बहुत ज्यादा है राइट लेकिन इन्होंने जो बना रखा है जेडी के ने जो बना के दिया है वो ऑलरेडी ट्रायल एंड टेस्टेड है ठीक है वो दुनिया भर के लोग यूज कर रहे हैं सिर्फ आप यूज नहीं कर रहे बड़ी-बड़ी कंपनीज यूज कर रही है उसे जावा इज अ वेरी पॉपुलर प्रोग्रामिंग लैंग्वेज तो उसके जो मेथड्स हैं वो इनबिल्ट मेथड बहुत सारे लोग यूज कर रहे हैं तो उनको भी आप भी बे हीच यूज कर सकते हो बेसिकली तो सपोज करो दो नंबर है आपने बना लिए दो नंबर इंट ए 4 और इंट बी लेट्स से सेवन इस तरीके से उसके बाद आप इसको आपको इसके अंदर कुछ मिनिमम वैल्यू निकालनी है तो आप ऐसे निकाल सकते हो एस आउट एक सेकंड मैं इसको ऐसे ही नहीं लिख सकता ठीक है एस आउट को सिस्टम ड प्रिंट वाली जो लाइन हैय आपकी मेन मेथड के अंदर ही आ सकती है ठीक है और मैंने कोई मेन मेथड बनाया नहीं है वेरिएबल वगैरह तो वैसे आ सकते हैं क्लास के अंदर य हम समझेंगे जब क्लास समझ रहे होंगे लेकिन पब्लिक स्टैटिक वॉइड मेन लिखना जरूरी है कुछ भी रन करने के लिए राइट तो पहले पब्लिक स्टिक वॉइड मेन उसके बाद इन a इ 4 एंड बी इ 7 उसके बाद मैथ डॉट मिन एंड देन इसके अंदर पास कर दोगे ए और बी तो अपने आप ही इन दोनों का जो सबसे छोटा नंबर होगा व्च इज फोर वो अपने आप प्रिंट हो जाने वाला है देखो कैसे एकदम से जादू की तरह फोर प्रिंट हो गया ये बोलोगे आप भया फोर कहां से आ गया ये कैसे मैथ डट मिन क्या चीज है तो मैथ क्लास के अंदर मिन नाम का एक फंक्शन बना हुआ है ऑलरेडी क्योंकि आप यूज कर सकते हो ठीक है तो इस तरीके से यूज करते हैं पहले आप लिखते हो क्लास का नाम उसके बाद उस फंक्शन का नाम और ये फंक्शन आप चाहो तो देख सकते हो कि ये फंक्शन के अंदर क्या लिखा हुआ है जावा डेवलपर्स ने क्या लिखा था जेडीके के अंदर डालते टाइम तो उसके लिए क्या करना है कमांड मैक के अंदर या फिर कंट्रोल विंडोज के अंदर उस बटन को होल्ड करना है उसके बाद इसके ऊपर हर करना है और देन आपको क्लिक करना है तो आप देख सकते हो यह वाला फंक्शन ऑलरेडी बना हुआ है आपके लिए पब्लिक स्टैटिक इंट मिन जिसके अंदर आप दो नंबर पास करते हो a और बी और यह वही वाला एक्सप्रेशन है जो आप हमने देखा था पहले कि अगर a छोटा है b से या फिर इवन a बराबर है b के तो भी a रिटर्न कर दो अदर वाइज b रिटर्न कर दो जब बराबर है तो कुछ भी रिटन करो फर्क नहीं पड़ता ठीक है ए रिटर्न करो या बी रिटन करो दोनों बराबर ही है ठीक है ना यह रहा आपका मिन वाला फंक्शन यह आपका लंग के अंदर मिन वाला फंक्शन है कि अगर आपको लंग दो लंग वाले नंबर्स में छोटा बताना है तो यह वाला फंक्शन कॉल हो जाएगा उस टाइम पर उसके बाद फ्लोट के अंदर छोटा नंबर बताना है तो ये वाला फंक्शन कॉल हो जाएगा उस टाइम पर ठीक है तो इस तरीके से मल्टीपल फंक्शन बने हुए इसके अंदर और आप जाके ये वाला कोड देख सकते हो स्क्रोल कर सकते हो इसमें काफी सारी चीज लिखी हुई है सिर्फ मे नहीं इसके अंदर मैक्स वाला फंक्शन भी लिखा हुआ है इसके अंदर आपका एब्सलूट वाला फंक्शन भी लिखा हुआ है इसके आपका फ्लोर वाला फंक्शन भी लिखा हुआ है सारे के सारे फंक्शन जो भी हम देखने वाले हैं ना वो सब इसके अंदर ऑलरेडी लिखे हुए हैं तो काफी कमाल कीय क्लास है और ये ऑलरेडी बन रखी है तो इसके अंदर जो फंक्शन है वो ऑलरेडी लिखे हुए हैं तो आपको सिर्फ कॉल करना है इनको आपको इसको बनाना नहीं है ठीक है खुद से क्रिएट नहीं करना ये मेथड बिकॉज़ दीज आर ऑलरेडी क्रिएटेडटेड फंक्शंस थे लेकिन ये जो हम देख रहे हैं मेथड मैथड मन और ये सब ये आपके इनबिल्ट मेथड्स हैं तो इनबल मेथड भी पता होनी चाहिए कुछ-कुछ सो दैट आप बार-बार यूज रिपीट ना करो चीजों को तो मिन के जैसा ही मैक्स होता है स्क्वायर रूट आपका बेसिकली एक नंबर का स्क्वायर रूट निकालने के काम में आता है तो अगर आपको एक नंबर का स्क्वायर रूट निकालना है कभी किसी क्वेश्चन में आ गया तो आप सीधा निकाल सकते हो स्क्वायर रूट ऑफ ले से मैं निकालना चाहता हूं अ 16 तो स्क्वा रूट ऑफ 16 इज 4 राइट यहां रिटर्न हो रहा है हमारा 4.0 और 4.0 एक डबल वैल्यू है ठीक है आप यहां पर देख सकते हो इसके ऊपर जब हम हर करेंगे तो आप पूरा का पूरा पढ़ सकते हो अ कि इसका सिग्नेचर क्या ये रिटर्न क्या करता है तो ये रिटर्न करता है डबल और ये इनपुट भी लेता है डबल ठीक है डबल वैल्यू इनपुट लेता है और डबल वैल्यू रिटर्न करता है ये इस तरीके से और यहां पर आप पढ़ सकते हो छल क्या रहा है इसके अंदर ये पूरी पूरी डॉक्यूमेंटेशन यहां मिल जाती है जैसे आप हर करोगे किसी भी के भी ऊपर जैसे मिन प हर किया तो मिन के बारे में आप पूरा पढ़ सकते हो कि क्या सीन है इसका इसके बाद अगला देखते है पावर तो a पावर बी अगर आपको निकालना है तो उसके लिए पावर आप यूज कर सकते हो इस तरीके से कि मैथ डॉट पाव और ये दो नंबर्स का पाव निकालता तो a रे पावर बी ठीक है 3 रे पावर 4 क्या होगा राइट तो ये 81 यहां पर प्रेट होने वाला है 3 पावर 4 उसके बाद एब्सलूट क्या करता है ये बेसिकली पॉजिटिव वैल्यू निकालता है तो किसी भी चीज की जो एब्सलूट वैल्यू होगी वो आपको रिटर्न करेगा तो मैथ डॉट एब्सलूट ऑफ लेट्स से 3 क्या होगा तो ्र की एब्सलूट वैल्यू तो थ्र ही रहेगी राइट यहां पर थ्री प्रिंट होने वाला है लेकिन -3 की एब्सलूट वैल्यू भी थी होती है ये कुछ मैथ के फंडे हैं आपको पता होनी चाहिए तो ये बेसिकली नेगेटिव नंबर को पॉजिटिव करने के काम में आता है आप ऐसे समझ सकते हो उसके बाद रैंडम क्या होता है ये रैंडम वैल्यू रिटर्न करता है रो से लेकर वन के बीच में तो रो से लेकर वन के बीच में एक डबल वैल्यू रिटर्न करता है ये तो मैथ डॉट रैंडम आपका एक वैल्यू रिटर्न करेगा रो से वन के बीच में आप देखोगे जितनी बार भी आप इसे चलाओगे ये एक रैंडम वैल्यू रिटर्न करने वाला है एक सेकंड कैंसिल जितनी बार भी आप रन करोगे इस बार 97 इस बार 413 इस बार 42 तो इसका आप यूज कर सकते हो अगर आपको कोई एक रैंडम नंबर चाहिए ठीक है अगर आपको कोई रैंडम नंबर जनरेट करना है तो आप बोलो भैया मुझे तो एक से लेकर और छह के बीच में एक रैंडम नंबर जनरेट करना है क्या ये कर सकता है वो मैं बोलूंगा हां बिल्कुल कर सकता है एक काम करते हैं एक फंक्शन बनाते हैं अ पब्लिक स्टैटिक इंट गेट रैंडम इस तरीके से और यह फंक्शन कुछ भी इनपुट नहीं लेगा लेकिन ये एक से लेकर छह के बीच में एक रैंडम वैल्यू रिटर्न करेगा ठीक है तो हमारा जो अभी फंक्शन है हमारे पास जो अभी वैल्यू है मैथ डरम ये तो रो से लेकर वन के बीच में एक वैल्यू रिटर्न करती है राइट रो से वन के बीच में अगर आप चाहते हो कि ये वन से लेकर सिक्स के बीच में एक वैल्यू रिटर्न करें तो इसके लिए हमें क्या करना है मैथ डॉट रम की वैल्यू को मल्टीप्लाई कर देना है सिक्स से पहले यहां पर वैल्यू मिल रही थी हमें रो से लेकर वन के बीच में जैसे आप सिक्स से मल्टीप्लाई कर दोगे तो हमें वैल्यू मिलेंगे अब रो से लेकर 6स के बीच में समझ में आ रही है ये थोड़ी सी मैथमेटिकल कांसेप्ट है कि आपको पहले वैल्यू मिल रही थी अब समझो यहां पे कि आपको पहले वैल्यू मिल रही थी रो से लेके वन के बीच में आपने मल्टीप्लाई कर दिया इस चीज को सिक्स से तो बीच में कुछ भी वैल्यू हो सकती था राइट 0.5 0.3 0.2 कुछ भी मिल सकता था सब कुछ मल्टीप्लाई हो जाएगा सिक्स से तो जब रो मल्टीप्लाई होगा स से तो ये हो जाए हो जाएगा रो और वन मल्टीप्लाई होगा सिक्स से तो ये हो जाएगा सिक्स ठीक है और बीच में अगर कुछ और भी होता है सपोज करो 0.5 होता है तो वो हो जाएगा मल्टीप्लाई सिक्स से तो हो जाएगा थ अगर 0.2 होता है तो हो जाएगा 1.2 इस तरीके से राइट तो 1.2 को इंट कन्वर्ट करोगे तो वन ही मिल जाएगा आपको तो इस तरीके से आपका रो से सि के बीच में नंबर मिल जाएंगे लेकिन आपको रो से सिक्स के बीच में नंबर नहीं चाहिए राइट आपको तो वन से सिक्स के बीच में नंबर चाहिए और ये जो मैथ डट रैंडम है ना ये इसके अंदर जीरो इंक्लूसिव होता है और वन एक्सक्लूसिव होता है ये वन नहीं रिटर्न करता आपको रो रिटर्न कर सकता है लेकिन कभी ना कभी पॉसिबिलिटी है जीरो मिल जाए लेकिन वन नहीं मिलेगा आपको कभी तो आपको करना क्या है इसमें वन और ऐड कर देना है इस वैल्यू के अंदर तो अब आप गारंटी से कह सकते हो कि आपको इसके अंदर वन से लेके सिक्स तक का नंबर ही मिलेगा ठीक है इसको जरा टेस्ट करते हैं एक बार तब समझ में आएगा ठीक से तो रिटर्न कर दो मैथ डॉट रम मल्टीप बाय 6 प्व ठीक है ये प्लव क्यों करना पड़ रहा है समझ में आ रहा है ना क्योंकि अगर प्लव नहीं करोगे तो हो सकता है आपको जीरो भी मिले एक काम करते हैं बिना प्लस व के देखते हैं इसको पहले तो यहां से जो वैल्यू मिल रही है हमें डबल मिल रही है इसको हमें इंट में कन्वर्ट करना पड़ेगा तो यू कैन कन्वर्ट ऑन इंट यहां पर क्लिक करो और कास्ट एक्सप्रेशन टू इंट कर दो तो ये एक्सप्रेशन जो भी थी ये आपकी इंट में कन्वर्ट हो जाएगी और अब मैथ डरम कॉल मत करो ऐसा करो यहां पर कॉल कर देते हैं हम गेट रैंडम हमारा वाला फंक्शन तो अब चलाते हैं इसे तो आप देखोगे अभी मुझे मिला फाइव पहले मुझे रो से लेकर वन के बीच में डबल वैल्यू मिल रही थी अब मुझे जीरो से लेकर सक्स के बीच में वैल्यू मिलेंगी देखो यहां से फोर मिल रहा है 0 1 2 3 4 5 ये वैल्यू मिल सकती है मुझे यहां से वन मिल गया फ मिल गया फोर मिल गया फोर मिल गया दोबारा फ मिल गया इस तरीके से कभी भी लेकिन सिक्स नहीं मिलेगा मुझे यहां से ठीक है हो सकता है कभी मुझे यहां से लेकिन जीरो मिल जाए जैसे यहां पर देखो जीरो मिल गया राइट एंड दिस इज नॉट व्ट वी वांट तो हम यहां पर क्या करेंगे इसके अंदर एक प्लस व कर देंगे कि अगर कभी जीरो मिला तो उसको ये प्लव करके वन कर देगा और फ मिला तो उसको सिक्स कर देगा तो अब हमारा वन से लेकर सिक्स के विश नंबर मिलेगा इससे ठीक है और अगर आपको एक जनरल फर्मूला चाहिए कि इस नंबर से लेकर इस नंबर के बीच में कुछ रैंडम वैल्यू लाक दो सपोज करो मेरी 10 से लेकर 20 के बीच में रैंडम वैल्यू होनी चाहिए या फिर मैं ऐसे कहता हूं इंट ए से लेकर इंट बी के बीच में एक रैंडम वैल्यू लाक दो मुझे तो उसके लिए आप सिंपल सा एक फर्मूला लगा सकते हो यहां पर एक काम करते हैं इसको मैं य पर लिख देता तो मैं इसको करूंगा कमेंट और सिंपल है कि रिटर्न मैथ डॉटर मल्टीप्लाई बाय बी माइ ए प्व और जो भी वैल्यू यहां से आएगी उसके अंदर आप मिन ऐड कर दोगे या फर ए ऐड कर दोगे और इस पूरी एक्सप्रेशन को हम इंट में कन्वर्ट कर देंगे ठीक है यहां पर क्लिक करके काश एक्सप्रेशन टू इंट और अब यहां से हमें एक इंटी जर वैल्यू मिलेगी करके आ रहा हूं मैं जो भी मुझे जीरो से व के बीच में रैंडम वैल्यू मिल रही है और सपोज करो मुझे 10 से 20 के बीच में रैंडम नंबर चाहिए ठीक है 10 से 20 के बीच में रैंडम नंबर चाहिए मुझे तो इस इस बार आप देखोगे 10 से 20 के बीच में मिलने वाला है आपको 12 10 से छोटा नहीं मिलेगा 20 से बड़ा नहीं मिलेगा ठीक है यह खास बात है इस जनरल फॉर्मूले की 11 14 14 16 इस तरीके से ये हमेशा आपके 10 से 20 के बीच में होगा ये चल क्या आ रहा है इस वाले फंक्शन के अंदर तो सेम जो चीज यहां लिखी थी ना मैंने जो चीज यहां पे की थी मैंने मल्टीप्लाई बाय सिस किया था यहां पे राइट सेम वही कर रहा हूं मैं मल्टीप्लाई बाय डिफरेंस जो भी डिफरेंस है उससे मल्टीप्लाई कर दिया आपने और साथ में जो भी मिनिमम नंबर था जैसे हमने पिछली बार रो ऐड किया था या फिर वन ऐड किया था वन ऐड किया था राइट क्योंकि आपको वन से सिक्स के बीच में चाहिए था इस बार हमने मिनिमम नंबर जो a है वो ऐड कर दिया इसके अंदर अगर आपको दो नंबर्स के बीच में चाहिए a से बीच के बीच में नंबर चाहिए तो आप b - a + 1 करोगे तो आपका डिफरेंस आ जाएगा यहां पे ठीक है जिससे आपको मल्टीप्लाई करना है और उसके बाद जो छोटा वाला नंबर है उसको ऐड कर देना है तो इससे आप ये निकाल पाओगे ये थोड़ा मैथमेटिकल है ये थोड़ा खुद समझने का भी ट्राई करना अगर बहुत ज्यादा कॉम्प्लिकेटेड लग रहा है तो अगर नहीं लग रहा तो बहुत अच्छी बात है अगर लग रहा है तो एक बार दोबारा समझने का ट्राई करना और खुद से पेन पेपर पर लिख के देखना तो आपको समझ में आएगा कि हां सही बात है यार ये तो हमें काफी कूल चीज बता दी भैया ने कि दो नंबर्स के बीच में अग रैंडम नंबर बताने है तो ये आप इस तरीके से बता सकते हो तो इसके साथ अब आगे बढ़ते हैं और अगली चीज देखते हैं एक सेकंड ये क्या है अगली चीज है मैथ डॉट फ्लोर ये बेसिकली फ्लोर वल फ्लोर वैल्यू निकालता है आप लोगों की डबल के अंदर तो एस आउट मैथड फ्लोर और सपोज करो आपने वैल्यू डाली इसके अंदर 5.9 तो ये फ्लोर वैल्यू बताएगा 5.9 की फ्लोर वैल्यू क्या है मतलब 5.9 से जस्ट छोटा इंटी जर कौन है फ राइट तो यहां पर हमें फ मिलने वाला है यह देखोगे 5 5.0 तो ये बेसिकली फ्लोर फंक्शन है और यह आप लोगों का डबल के अंदर जो जस्ट छोटा इंटी जर है वो रिटर्न करता है एंड सिमिलर टू दिस हमारे पास एक होता है सील यह क्या करता है यह इससे जस्ट बड़ा इंटी जर रिटर्न करेगा तो इस टाइप की चीजें आप लोग चाहो तो खुद से भी कर सकते हो लेकिन आप लोग को ऑलरेडी फंक्शन मिले हुए हैं मैथ के अंदर तो आप यूज़ कर सकते हो तो 5.9 से जस्ट बड़ा इंटी जर कौन सा है तो सिक्स है सिक्स मिल गया आपको इवन अगर आप लगते हो यहां पे 5.1 तो भी आपको सक्स ही मिलेगा यहां पर ठीक है इस तरीके से अगला है मैथ डॉट राउंड तो ये आप लोगों का नंबर राउंड कर देता है बेसिकली ठीक है अ सिंपल जो आप लोगों ने पढ़ा होगा कि राउंड ऑफ कर दो हमारी इसको राइट अगर आपको देने किसी बंदे को ₹1 आपके पास 98 है तो वो बोलेगा ठीक है राउंड ऑफ करके 100 ही तो हो गए ठीक है ₹ खा लेगा वो आपके सिमिलर टू दैट अगर सपोज करो 5.3 को राउंड ऑफ करना है मुझे तो मैं यहां पर लिखूंगा राउंड तो 5.3 राउंड होके क्या बनता है फाइव बनता है राइट 5.3 राउंड हो के 5 बनता है सिमिलरली 5.8 राउंड होके क्या बनता है सिक्स बनता है राइट नेक्स्ट इंटी जर कौन सा होगा सिक्स बन जाएगा इस तरीके से तो ये आपके डबल वैल्यूज को राउंड ऑफ करके आपको इंटी जर वैल्यू रिटर्न करता है तो भैया ये सब क्यों बता रहे हो मैं कब यूज करूंगा तो यार जब हम क्वेश्चन सॉल्व कर रहे होंगे ना तो इस टाइप की चीजें यूज हो रही होंगी हो सकता है अभी डायरेक्टली यूज ना हो लेकिन कभी ना कभी हम यूज कर रहे होंगे कोई क्वेश्चन सॉल्व कर रहे होंगे जिसके अंदर हो सकता है राउंड ऑफ लग जाए ठीक है सिमलर छोटा सा यही क्वेश्चन आ गया आपके पास कि आपको एक पैसे दिए गए उसके उसके जस्ट पास वाला अ इंटी जर रिटर्न कर दो तो उस केस में आपको सिंपल ये रिटर्न करना है मैथ डॉट राउंड इस तरीके से तो इस टाइप के क्वेश्चन आ जाते हैं ठीक है ये तो मैंने बहुत छोटा बताया लेकिन बड़े क्वेश्चन के अंदर छोटा पार्ट हो सकता है कि दो नंबर्स का मिनिमम निकालना है तो बजाय कि खुद इफ एल्स कंडीशन लगाने के या टर्नर ऑपरेटर लगाने के आपने मैथड मन यूज कर लिया और अपना काम निकाल लिया तो इस टाइप की चीजें आप बहुत ज्यादा बार कर रहे होते प्रोग्रामिंग के अंदर एंड दिस इज वई मैथ के अंदर जो भी फंक्शंस मिले हुए हैं वो बहुत यूजफुल है इसके अलावा कुछ और भी फंक्शन होते हैं हमारे पास ट्रिग्नोमेट्री फंक्शन भी होते हैं सा क नसेक ये सब पढ़ा था ना ट्रिग्नोमेट्री ये सब भी होता है इसके अलावा इसके अंदर साइन कस्ट मतलब ए वाले जो होते है ना जिसको क्या कहते हैं एमटोटो नोटेशन वाले जो आपके ट्रिग्नोमेट्री फंक्शन होते हैं हाइपरबॉलिक ट्रिग्नोमेट्री फंक्शन जो होते हैं वो सब आप आपको मिल जाते है इसके अंदर मैथ लाइब्रेरी बहुत बढ़िया है इसके अंदर आप जाके एक्सप्लोर कर सकते हो बाकी यहां पर इसलिए मैंने कंप्लीट लिस्ट का लिंक दे रखा है जाके आप चेक आउट कर सकते हो बट यह सब भी पढ़ लिए तो ये सब भी काफी हमारे लिए ठीक है इससे हमारा काम हो जाने वाला है तो ये था आज की क्लास के अंदर जहां हमने पढ़ा मेथड्स के बारे में इसके बाद हम बात करोगे लेकिन स्ट्रिंग की स्ट्रिंग कैसे काम करता है स्ट्रिंग को बस अभी हमने ऊपर ऊपर से दिखा है लेकिन स्ट्रिंग के भी कुछ अपने मेथड्स होते हैं वो सब भी देख रहे होंगे और स्ट्रिंग को पूरा अच्छे से समझ रहे होंगे जावा के अंदर ठीक है वो होगा हमारी नेक्स्ट क्लास के अंदर चलते हैं इस क्लास में बाय बाय हे व स गाइ आज हम बात करने वाले है जावा के अंदर स्ट्रिंग के बारे में कि स्ट्रिंग कैसे काम करती है स्ट्रिंग एक नॉन प्रिमिटिव डेटा टाइप होता है इससे पहले हमने प्रिमिटिव डेटा टाइप देखे थे विच आर इंट लॉन्ग कैर बुलियन ये सब के सब आपके प्रिमिटिव डेटा टाइप होते हैं मतलब जावा ने आपको ऑलरेडी दे रखे है कि इनसे आप लोग नॉन प्रिमिटिव टाइप के डेटा टाइप बना सकते हो स्ट्रिंग उनमें से एक है स्ट्रिंग बेसिकली आप लोगों का एक ऑब्जेक्ट है जिसके अंदर आप लोग वर्ड्स या फिर कैरेक्टर स्टोर कर सकते हो ये ऑब्जेक्ट वगैरह हम पढ़ेंगे जब हम उप्स की बात कर होंगे ऊप्स का मतलब होता है ओओ पीएस ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग सिस्टम वो हम बाद में पढ़ रहे होंगे इसके बाद अब हम लेकिन रिकर्स एंड बैक ट्रैकिंग के कुछ क्वेश्चन कर लेंगे क्योंकि उसके अंदर इतनी ही रिक्वायरमेंट होती है थोड़ी सी प्रॉब्लम सॉल्विंग स्किल हमारी ऊपर जा रही होगी इसके बाद सीधा ऊप्स के अंदर मूव कर रहे होंगे लेकिन अभी फिलहाल जंप करने से पहले रिकजन बैक ट्रैकिंग के अंदर हमें स्ट्रिंग पढ़ना जरूरी है और बहुत ही सिंपल बहुत ही अच्छे तरीके से हम पढ़ने वाले आज की क्लास के अंदर ठीक है तो स्टार्ट करते हैं जावा स्ट्रिंग के अंदर पहले हम बात करेंगे बेसिक्स ऑफ स्ट्रिंग की कि हमारी स्ट्रिंग होती क्या है ठीक है अ देन हाउ डू यू क्रिएट स्ट्रिंग इन जावा स्ट्रिंग को क्रिएट करने के दो तरीके होते हैं दोनों को देखेंगे अच्छे से कैसे स्टोर होती है तो जावा के अंदर स्टोरेज कैसे काम करता है वो भी समझेंगे पार्ट वन आज समझ लेंगे एक्चुअल में पूरा का पूरा जावा के अंदर किस तरीके से स्टोरिंग मैकेनिज्म होता है कोई कौन सी चीज हीप में जाती है कौन सी चीज स्टैक में जाती है किस तरीके से जाती है वो सब समझना भी जरूरी है इंटरव्यू पॉइंट ऑफ व्यू से तो वो सब हम समझेंगे बाद जब हम उप्स की बात कर रहे होंगे लेकिन आज भी थोड़ा बहुत समझने लग जाएंगे देन इ म्यूट बिलिटी क्या होती है और स्ट्रिंग के अंदर इ म्यूट बिलिटी कैसे काम करती है उसके बाद स्ट्रिंग के कुछ मेथड्स हैं कंपेयरिंग करते टाइम भी देखेंगे और साथ में डेडिकेटेड कुछ मेथड्स देख रहे होंगे जो स्ट्रिंग के अंदर काम करते हैं तो एक-एक करके सारी चीजें समझते हैं सबसे पहले हम स्टार्ट करेंगे बेसिक ऑफ स्ट्रिंग से इन जावा स्ट्रिंग इज बेसिकली एन ऑब्जेक्ट दैट रिप्रेजेंट अ सीक्वेंस ऑफ कैर वैल्यूज एंड एरे ऑफ कैरेक्टर्स वर्क्स द सेम एज जावा स्ट्रिंग तो बेसिकली वही चीज कि आप लोगों को अगर एक सीक्वेंस ऑफ कैरेक्टर वैल्यूज को जैसे आपको अपना नेम स्टोर करना है तो आपको पता है नेम आपका सिंगल कैरेक्टर का तो होता नहीं है किसी का नाम ए बी सी तो होता नहीं प्रॉपर नेम होता है राइट सपोज करो किसी का नाम है राम अ राम ठीक है आर ए एम ये तीन कैरेक्टर से मिलके बना है तो ये आप कैसे स्टोर कर सकते हो आपको पता है इंट वगैरह में तो स्टोर होगा नहीं राइट नेम नाम का आपने वेरिएबल बना दिया लेकिन डटा टाइप क्या रखोगे यहां पर जो डेटा टाइप होता है वो आपका होता है एक स्ट्रिंग डेटा टाइप ठीक है तो इंट वगैरह नहीं आएगा यहां पे यहां पे इवन कैर भी नहीं आ सकता आप सोचो कैर लगा देता हूं और सिंगल कैरेक्टर्स के अंदर ऐसे करके डाल सकता हूं नहीं सिंगल कोड्स के अंदर एक ही कैरेक्टर आ सकता है जब आप कैर को स्टोर कर रहे कैर का मतलब सिंगल कैरेक्टर यहां पर आपके तीन कैरेक्टर्स हैं तो आप इस तरीके से कैर को स्टोर नहीं कर सकते हो कैर में स्टोर नहीं कर सकते स्ट्रिंग को तो इसके लिए हमें स्ट्रिंग डाटा टाइप की जरूरत पड़ती है स्ट्रिंग ठीक है एस टी आर आ एनज नेम इक्वल टू राम और इसके अंदर फिर आपको डबल कोड्स लगाने पड़ते हैं आप डबल कोड्स लगाते हो जावा के अंदर तो हम कहते हैं स्ट्रिंग है सिंगल कोड्स लगाते हो तो हम कहते हैं कैरेक्टर है ठीक है तो सिंगल कैरेक्टर सिंगल के अंदर आपका एक सी आ सकता है या फिर एक सिंगल आर आ सकता है एक चीज और लिखिए यहां पर एन एरे ऑफ कैरेक्टर्स वर्क वर्क सेम एस जावा स्ट्रिंग इसका मतलब यही कहना चाहते हैं कि सपोज करो आप एक कैरेक्टर का एरे बनाते हो केर सी ये मैंने सी नाम का एक एरे बना लिया है जिसके अंदर मैं ऐसा कुछ स्टोर करना चाहता हूं r फिर कॉमा देके स्मल ए फिर कॉमा देके स्ल m इस तरीके से मैंने एक कैरेक्टर कैर एरे को इनिश इज कर दिया है एलोकेट भी कर दिया है तो ये सेम है इसके जैसे ठीक है दोनों चीजें सेम है मतलब कि स्ट्रिंग जो होता है ना इंटरनली कैरेक्टर एरे ही बना रहा होता है और जो मैंने बताया था आपको कि नॉन प्रिमिटिव डेटा टाइप कैसे बनते हैं प्रिमिटिव डेटा टाइप से तो कैर इज अ प्रिमिटिव डेटा टाइप और इसकी हेल्प से इसके एरे को यूज करके अंदर जावा इंटरनली स्ट्रिंग बनाता है आपके लिए और स्ट्रिंग क्लास बनी होती है जावा के अंदर ऑलरेडी ठीक है java.awt नेसी टाइप का डेटा टाइप चाहिए एंड स्ट्रिंग इज वन ऑफ दैट डेटा टाइप इट इज अ नॉन प्रिमिटिव डेटा टाइप जिसके अंदर आप लोग वर्ड्स कैरेक्टर्स वगैरह स्टोर कर सकते हो आई थिंक धीरे-धीरे करके थोड़ी बहुत बात दिमाग में बुस रही होगी क्यों जरूरत है इसकी राइट वर्ड और कैरेक्टर वैल्यूज के बहुत सारे सीक्वेंस को अगर आपको स्टोर करना है तो वहां पर जरूरत पड़ती है और रियल वर्ल्ड में आपको दिख रहा है ऐसी चीजें बहुत सारी होती है अगर मुझे किसी स्टूडेंट की इंफॉर्मेशन स्टोर करनी है तो उसके मार्क्स वगैरह स्टोर करने से पहले मैं उसका नाम स्टोर करना चाहूंगा राइट नेम तो नेम मैं कैसे स्टोर कर सकता हूं नेम या तो मैं एक कैरेक्टर एरे बना लूंगा उसमें स्टोर कर सकता हूं या फिर फिर एक इजियर वे है कि मैं स्ट्रिंग बना के उसका नाम स्टोर कर सकता हूं ठीक है तो अ जावा के अंदर स्ट्रिंग क्रिएट कैसे करते हैं तो अभी हमने एक देखा स्ट्रिंग लिटरल वाला मेथड ये हम ऑलरेडी देख चुके हैं या तो इसकी हेल्प से आप बना सकते हो या फिर एक और तरीका होता है व्हिच इज बाय यूजिंग द न्यू कीवर्ड तो न्यू कीवर्ड आपने कहीं और देखा है अभी तक हम एक बार देख चुके हैं न्यू कीवर्ड को व्हिच इज इन स्कैनर क्लास स्कैनर क्लास का ऑब्जेक्ट बनाते हैं तब हम न्यू कीवर्ड यूज़ करते हैं राइट हम ऐसे लिखते हैं स्कैनर तो यहां पर आप देख सकते हो कि मैंने न्यू कीवर्ड यूज किया था राइट सिमिलरली एक न्यू कीवर्ड की से आप लोग स्ट्रिंग भी बना सकते हो कैसे बनाओगे तो स्कैनर क्लास का ऑब्जेक्ट बनाया मैंने राइट स्ट्रिंग का ऑब्जेक्ट बनाना है आपको तो स्ट्रिंग लेट्स से नेम नाम का बनाते हैं स्ट्रिंग नेम इक्वल टू न्यू स्ट्रिंग और इसके कंस्ट्रक्टर के अंदर आप पास कर दो य पर सपोज करो मैं पास करता हूं ए एन य ज तो यहां से भी एक स्ट्रिंग बन जाती है ठीक है तो आप चाहे तो ये लिखो स्ट्रिंग नेम इ न्यू स्ट्रिंग अनुज या फिर आप ये लिखो स्ट्रिंग नेम इक्वल टू अनुज इन दोनों तरीके से ही हमारी जावा के अंदर स्ट्रिंग बन जाती है ठीक है यह तरीका यूज करो या फिर यह तरीका यूज करो क्योंकि स्ट्रिंग इतनी ज्यादा बन रही होती थी जावा के अंदर बहुत ज्यादा यूज की जाती है राइट इसलिए जावा डेवलपर्स ने बोला सुनो ऑब्जेक्ट बनाने के लिए तो यही तरीका होता है य ऊपर जो तरीका लिखा है इसी से ऑब्जेक्ट बन रहे होते हैं लेकिन स्ट्रिंग इतनी ज्यादा यूज में होती है कि उसके लिए उन्होंने बोला कि ठीक है एक स्पेशल तरीके से और बना सकते हो आप जैसे आप नॉर्मल कोई नॉन प्रिमिटिव डेटा टाइप बना बनाते हो वैसे आप बना सकते हो तो यहां से भी हमारी अनुज नाम की एक स्ट्रिंग बन जाएगी अब एक दिमाग में क्वेश्चन आ रहा होगा कि भैया यहां पर अगर बनती सेम है स्ट्रिंग तो फिर दोनों में डिफरेंस क्या है मतलब ऊपर न्यू कीवर्ड वाले में और नीचे नॉर्मल बाय स्ट्रिंग लिटरल इन दोनों में डिफरेंस क्या है तो डिफरेंस कुछ नहीं है दोनों केसेस में स्ट्रिंग बन जा रही है डिफरेंस आता है मेमोरी में किस तरीके से स्टोर हो रही है मेमोरी में किस तरीके से स्टोर हो रही है वहां पर एक छोटा सा डिफरेंस आ जाता है अ मेमोरी में कैसे चीजें स्टोर होती है ऑब्जेक्ट कैसे स्टोर होते हैं रेफरेंसेस कैसे स्टोर होते हैं इसकी बात हम बाद में करेंगे जब हम ऊप्स की बात कर रहे होंगे अगेन बता रहा हूं लेकिन आज मैं आपको बेसिक बता देता हूं तभी आपको इ मूटे बिलिटी इन स्ट्रिंग समझ में आएगी तो बेसिकली दो टाइप की हमारे पास मेमोरी होती है एक होती है हमारे पास स्टैक मेमोरी ठीक है वन इज कॉल्ड स्टैक मेमोरी और एक होती है हमारे पास हीप मेमोरी अभी फिलहाल के लिए आप यह समझ लो कि जो रेफरेंसेस वगैरह होते हैं ना वो हमारी स्टैक मेमोरी में डल रहे होते हैं जैसे कि आपने स्कैनर एससी बनाया राइट यह स्कैनर एससी जो है यह रेफरेंस है एक दिस इज रेफरेंसिंग टू एन ऑब्जेक्ट ऑफ स्कैनर क्लास तो ये जो एससी है ये आप समझ जो कि स्टैक मेमरी में जा रहा है वैसे इससे इतना सिंपल नहीं होता थोड़ा कॉम्प्लिकेटेड होता है इस लेकिन वो हम बाद में समझेंगे और हीप मेमोरी के अंदर एक्चुअल जो ऑब्जेक्ट बन गया यहां पर वो जाता है तो हीप मेमोरी में हमारे ऑब्जेक्ट जा रहे होते हैं स्ट्रिंग के अंदर जो भी ये सारी वैल्यूज है ये जो अनुज हमने लिखा है यह सारा का सारा हमारे हीप मेमोरी में जाता है ठीक है तो यहां पर एक चीज होती है क्योंकि स्ट्रिंग आप बहुत बार यूज करो तो स्ट्रिंग बहुत ज्यादा बार जावा प्रोग्राम में यूज होती है तो किस तरीके से हीप मेमोरी में चीजें स्टोर होती है आपको बताता हूं तो सपोज करो दिस इज योर हीप मेमोरी ठीक है दिस इज योर हीप मेमोरी स्टैक मेमोरी हीप मेमोरी अगर समझ में नहीं आ रही तो डोंट वरी ये हम अच्छे से डिटेल में समझ रहे होंगे लेकिन थोड़ा सा एक कांसेप्ट आपको बताना है मुझे स्ट्रिंग के अंदर उसके लिए यहां पर हीप मेमोरी बस ये समझ लो कि यहां पर चीजें स्टोर हो रही है मेमोरी में स्टोर करना पड़ेगा प्रोग्राम अगर आपको प्रोग्राम रन करना है तो मेमोरी में स्टोर करना पड़ेगा राइट तो उसी के लिए आपका स्टोर किया जा रहा है हीप मेमोरी में किस तरीके से चीजें स्टोर होती है कि जब आपने ऐसे लिखा ना स्ट्रिंग नेम इक्वल टू अनुज तो उस टाइम पे क्या होगा यहां पर एक हीप मेमोरी के अंदर स्ट्रिंग के लिए एक अलग से चीज असाइन है अलग से एरिया असाइन है इसका मैं कलर चेंज कर देता हूं और दिस एरिया इज कॉल्ड स्ट्रिंग कांस्टेंट पूल इसे हम कहते हैं स्ट्रिंग कांस्टेंट पूल स्ट्रिंग पूल भी कहते हैं इसको स्ट्रिंग पूल एरिया के अंदर हमारी स्ट्रिंग्स बन रही होती है ठीक है तो जो आपने ऐसे बनाया ना स्ट्रिंग इ अनुज तो हुआ क्या यहां पर एक अनुज स्टोर हो गया य ठीक है एक्चुअल वैल्यू एक्चुअल वैल्यू जो है अनुज के अंदर मतलब बेसिकली इस नेम के अंदर जो वैल्यू है अनुज ये जो कैरेक्टर्स है ये सब आपके स्टोर हो जाते हैं इस स्ट्रिंग कांस्टेंट एरिया के अंदर इसका मतलब आपने जब नेम बनाया तो नेम यह रहा ठीक है सपोज करो नेम आपका स्टैक मेमोरी के अंदर कहीं पर स्टोर्ड है और यह पॉइंट कर रहा है इस जगह पर यह बता रहा है कि ठीक है मेरे अंदर जो वैल्यू है वो अनुज ठीक है भैया समझ में आ गया अब क्या होता है सपोज करो आप एक दूसरा स्ट्रिंग बनाते हो यहां पे ठीक है आपने एक और स्ट्रिंग बनाया स्ट्रिंग अ लेट्स से रैंडम रैंडम वेरिएबल है और इसके अंदर आपने वैल्यू स्टोर कर दी अनुज दोबारा से आपने इसके अंदर अनुज वैल्यू स्टोर कर दी तोब होआ क्या जब बोलेगा देखो यार स्ट्रिंग बहुत ज्यादा बनते हैं स्ट्रिंग ऑप्टिमाइज करने है हमें ठीक है स्ट्रिंग अगर हम ऑप्टिमाइज करने है तो उसके लिए हम क्या करेंगे एक जगह जो अनुज बन रखा है ना यहां पे सपोज करो स्ट्रिंग कांस्टेंट एरिया के अंदर स्ट्रिंग कांस्टेंट पूल के अंदर फिर स्ट्रिंग पूल के अंदर अगर एक बार ये अनुज बन रखा है तो दोबारा से अनुज नाम का स्ट्रिंग पूल में बनाने की जरूरत नहीं है ठीक है दोबारा से अनुज नहीं बनेगा ये क्या करेगा इस रैंडम को भी पॉइंट करा देगा इसी चीज के ऊपर तो रैंडम एंड नेम बोथ आर पॉइंट एट अनुज ये बात समझ में आ रही है यूजुअली क्या होता है जब आप दो वेरिएबल बनाते हो उनके अंदर अग वैल्यू सेम भी है तो वेरिएबल जो होते हैं वो उनकी अलग-अलग मेमोरी रेफरेंस में वो स्टोर होते हैं ठीक है जब मैंने एक बार स्कैनर ए इ न्यू स्कैनर किया तो वो अलग बनेगा दोबारा किया तो वो अलग बनेगा ठीक है तीन बार बनाओ तो तीन बार अलग-अलग मेमोरी लोकेशन में ऑब्जेक्ट्स लेकिन स्ट्रिंग क्योंकि इतनी ज्यादा बार यूज़ किया जाता है कि जावा में बोला गया कि इसको ऑप्टिमाइज करते हैं थोड़ा ऑप्टिमाइज करने के लिए क्या बोला गया कि एक काम करते हैं स्ट्रिंग पूल एरिया बनाते हैं एक और स्ट्रिंग पूल एरिया के अंदर हम ऐसे करके स्ट्रिंग को डाल दिया करेंगे तो अगर स्ट्रिंग रिपीट कर रही है तो हम उसको दोबारा नहीं बनाएंगे ठीक है हमें थोड़ा ऑप्टिमाइज करना है मेमोरी को तो नेम को भी यहीं पे पॉइंट करा देंगे रैंडम को भी यही पॉइंट करा देंगे ठीक है इसका फायदा ये है कि अगर आप मल्टीपल सेम नाम के मतलब सेम वैल्यू के स्ट्रिंग बनाते हो तो पहले चेक कर लीजिएगा कि आपकी स्ट्रिंग पूल एरिया में है कि नहीं है और उसके बाद सेम को पॉइंट करा देंगे उससे हमारी मेमोरी बचेगी थोड़ी सी तो यह फायदा होता है इसका लेकिन नीचे ये जो य यहां बनाया ने दूसरा वाला तरीका च इज बाय यूजिंग द न्यू कीवर्ड यहां पर चीजें थोड़ी सी डिफरेंट हो जाती है डिफरेंट कहां आता है डिफरेंट आता है जहां स्टोर हो रहा है बेसिकली चीजें अभी भी हीप मेमोरी में स्टोर होंगी लेकिन हीप मेमोरी के अंदर एक अलग जगह पर स्टोर होंगी इस बार वो स्ट्रिंग कांस्टेंट पूल के अंदर स्टोर नहीं होंगी तो सपोज करो ये जो नेम था ऊपर वाला नेम इसका मैं नाम कुछ और देता हूं लेट्स से इसका नाम हो गया नेम टू ठीक है दिस इज योर नेम टू तो नेम टू जो है वो कहां पॉइंट करेगा नेम टू के लिए एक अलग जगह ब वहां पर अनुज स्टोर किया जाएगा दोबारा से और नेम टू इसको पॉइंट करेगा क्योंकि नेम टू जो है वो इस तरीके से स्ट्रिंग लिटल की तर वजह से नहीं न्यू कीवर्ड की वजह से बना है ठीक है दिस इज एन ऑब्जेक्ट तो ऑब्जेक्ट के लिए तो हीप मेमोरी में अलग जैसे हीप मेमोरी में काम होता है जब आप ऑब्जेक्ट बनाते हो वैसे ही काम होगा तो आप चाहे कोई भी ऑब्जेक्ट बनाओ जैसे आपने स्कैनर का भी ट बनाया तो स्कैनर का ऑब्जेक्ट भी यहां कहीं पड़ा होगा इसी तरीके से आपने यहां पे अ स्ट्रिंग का ऑब्जेक्ट बनाया तो स्ट्रिंग का ऑब्जेक्ट भी इस तरीके से पड़ा होगा लेकिन अगर आप लिटरल का यूज करते हो क्योंकि लिटरल मैं अगेन बता रहा हूं क्योंकि स्ट्रिंग आप बहुत ज्यादा यूज करते हो इसीलिए स्ट्रिंग को थोड़ा सा ऑप्टिमाइज किया गया है ये बाकी सारे ऑब्जेक्ट से थोड़ा डिफरेंट है इसके लिए स्पेशल स्ट्रिंग पूल एरिया बनाया गया है लेकिन अगर आप ऐसे ऑब्जेक्ट वाले राउट से ही स्ट्रिंग बनाओगे तब तो उस केस में आपकी स्ट्रिंग ऐसे ही स्टोर होंगी और आपको रिकमेंड किया जाता है कि जब भी आप स्ट्रिंग बना रहे हो तो आप ऐसे लिटरल वाले तरीके को यूज़ करो बिकॉज दिस इज मोर ऑप्टिमाइज्ड ठीक है ये मेमोरी ऑप्टिमाइजेशन अपने आप लग रही होती है इसके अंदर आप देख ही रहे हो कैसे ऑप्टिमाइजेशन हो रही है तो आपको रिकमेंड किया जाता है कि जब भी आप यूजुअली स्ट्रिंग बना रहे हो तो यूज द स्ट्रिंग लिटरल टू क्रिएट योर स्ट्रिंग्स और लेकिन जब आपको दिख रहा है कि जब आप ऐसे न्यू कीवर्ड की वजह से बनाते हो स्ट्रिंग तो आपकी इस तरीके से बनती है अब अगर यहां पर आपको लगता है स्ट्रिंग नेम 3 इक्व टू न्यू स्ट्रिंग अनुज मैं दोबारा बनाऊ ठीक है नेम थ इक्व टू न्यू स्ट्रिंग अनुज अगर मैं ऐसे बनाऊं तो क्या होगा नेम थी अलग बनेगा ठीक है और नेम थ्री एक अलग अनुज को पॉइंट कर रहा होगा अलग स्ट्रिंग को पॉइंट कर रहा होगा तो जितने भी आप ऑब्जेक्ट बनाओगे उनके अलग-अलग मेमोरी लोकेशन में चीजें बनती रहेंगी ठीक है और वो फिर अलग-अलग बनते रहेंगे लेकिन अगर आप लिटरल का यूज करके बनाते हो कभी आपने एक और लिटरल बनाया तो वो लिटरल इसी को पॉइंट करता रहेगा इसी वाले अनुज को कुमार बनाओगे तो कुमार आपका ऐसे यहां पर दोबारा से एक अलग बन जाएगा कुमार फिर आप दोबारा से कुमार बनाओगे तो कुमार पिछला कुमार वाले को भी पॉइंट करेगा वो ठीक है इस तरीके से आई थिंक क्लियर हो रहा होगा समझ में आ रहा होगा और इसी वजह से स्ट्रिंग के अंदर इ म्यूट बिलिटी आती है इ म्यूट बल स्ट्रिंग इन जावा इ म्यूट बल क्या होता है इ म्यूटेशन स जो कि चेंज हो सकता है राइट मूटे मतलब जिसको चेंज नहीं कर सकते सस कैन नॉट बी चेंज तो स्ट्रिंग ऑब्जेक्ट आर इटेबियन आते है बिगिनर्स को किय क्या बोल रहे हो भया चेंज नहीं हो सकता इसका मतलब क्या है तो बेसिकली आपने अगर बनाया नेम इव ट अनज स्ट्रिंग नेम इ टू अनुज और सोचो कि कभी मैं फ्यूचर में जाके इसको चेंज कर देता हूं कि मैं नहीं भैया मेरे को नेम इक्वल टू अनुष नहीं चाहिए मुझे तो नेम इक्वल टू शिवम चाहिए लेट्स से भैया ये तो हो गया चेंज आप बोल रहे थे ये स्ट्रिंग जो है वो इ म्यूटेशन आर इ मूटे बल इसका मतलब अनुज जो आपने बनाया था ना पहले वो अनुज अभी भी मेमोरी के अंदर पढ़ा ही हुआ है ठीक है सपोज करो दिस इज योर स्ट्रिंग पूल एरिया ये रेड वाला इसके अंदर यहां पे अनुज रखा हुआ है और नेम पहले इसको पॉइंट कर रहा था अब जब आपने शिवम बनाया ना तो ऐसा नहीं हुआ कि इस अनुज वाली मेमोरी को हटाया गया और इसी के अंदर शिवम बनाया गया नहीं ऐसा नहीं हुआ शिवम नाम का एक अलग शिवम वैल्यू का मेमोरी को अलग एलोकेट किया गया ठीक है यह अलग बनाया गया है इसको और अब जो नेम है वो इसको पॉइंट नहीं कर रहा नेम अब आपका शिवम को पॉइंट कर रहा है इस तरीके से तो नेम पॉइंट कर रहा है इसको लेकिन आप देख ो ये जो वैल्यू है ये एक बार जब अनुज बन गया मेमोरी के अंदर एक बार आपने स्ट्रिंग बना दिया ना किसी भी चीज से तो वो फिर मेमोरी के अंदर पड़ा रहेगा वो चेंज नहीं होने वाला फिर गार्बेज कलेक्टर आएगा जावा के अंदर गार्बेज कलेक्टर होता है व देखता है कि अगर किसी चीज़ को कोई रेफरेंस नहीं कर रहा है कोई भी वेरिएबल अगर किसी चीज़ को रेफरेंस नहीं कर रहा है इसका मतलब यह कभी यूज़ नहीं होने वाला तो अभी अनुज को कोई यूज़ नहीं कर रहा तो गार्बेज कलेक्टर आएगा कुछ देर बाद और इसको यहां से मेमोरी में से हटा देगा बोलेगा कि खत्म इसका काम खत्म हो गया ठीक है बात समझ में आ रही है तो यह पहले इसको पॉइंट कर रहा था अब यह इसको पॉइंट ना करके इसको पॉइंट करने लग गया है स्ट्रिंग्स आर इ म्यूट वंस अ स्ट्रिंग ऑब्जेक्ट इज़ क्रिएटेडटेड कैन नॉट बी चेंज्ड ठीक है ये जो डेटा है इसका अनुज दिस कैन नॉट बी चेंज्ड दिस कैन नेवर बी चेंज्ड इसके अंदर आप बोलो कि भैया मैं तो यह भी कर सकता हूं मुझे याद है नेम इक्वल टू जो पिछला वाला नेम था वो और इसके आगे मैं लगा देता हूं ले से कुमार और आपको पता है कि अब जो आपका नेम है वो बन जाएगा लेट से अनुज कुमार पहले अनुष था और अनुष के अंदर आपने प्लस करके कुमार लगा दिया तो अनुज कुमार बन गया य तो अनुष के आ कुमार ल बोलूंगा नहीं ऐसा नहीं हुआ एक अलग स्ट्रिंग बनाई गई जिसके अंदर अनुज और कुमार स्टोर किया गया पिछले वाले अनुष अंदर कुछ भी चेंज नहीं किया गया ठीक है वो अभी भी पढ़ा हुआ है मेमोरी के अंदर वो पढ़ा ही रहेगा वो बाद में गार्बेज कलेक्टर आके उड़ा देगा उसको मेमोरी में से आपके लिए एक अलग स्ट्रिंग बनाई गई है और उसके अंदर अनुज और कुमार रखा गया है स्ट्रिंग्स आर ऑलवेज इ म्यूटेशन रीजंस की वजह से आपका डाटा सिक्योर होता है जब वो मूटे बल होता है इ म्यूट डाटा मतलब दिस कैन नॉट बी चेंज इन फ्यूचर तो जावा कह सकता है दावे से किसी भी टाइम पे क्योंकि उसने बनाया है स्ट्रिंग को कोहेरेंटली मूटे बल तो जावा कह सकते है कि इस भी टाइम पे कि भाई सुनो इसके अंदर कुछ भी चेंज नहीं हुआ है ना कभी हुआ होगा ठीक है आपने कोड में कुछ गड़बड़ की है कोड में कई बार गड़बड़ हो जाती है और हम फिर ब्लेम करते हैं कि नहीं कहीं ना कहीं चीजें चेंज हो गई है कहीं ना कहीं वैल्यू चेंज हो गई है अपने आप ही कुछ रीजन रहे होंगे लेकिन जावा बोल सकता है ठोके कि सुनो स्ट्रिंग तो हमने बोल रखा है मूटे बल है तो अगर स्ट्रिंग में कभी कुछ चेंज हुआ है तो आपने कहीं ना कहीं कुछ कोड में गड़बड़ की होगी जाके चेक करो ठीक है म्यूटेशनल रखा जाता है ताकि आपके कोड चेंजेज वगैरह ना हो सके इसके अंदर आप इस तरीके से चेंज कर रहे हो कभी कभी आपने खुद से चेंज किया तभी चेंज करेगा वो ठीक है अगर आप खुद से चेंज कर रहे हो तभी चेंज होगा जावा अपने आप उसके अंदर कुछ चेंज नहीं करने वाला है यह होता है अब हमने काफ सारी थ्योरी देख ली स्ट्रिंग के अराउंड और अब जरा थोड़ा सा कोड में देखते स्ट्रिंग को कैसे काम करता है वैसे तो जितना थ्योरी था उतने में ही हमारा स्ट्रिंग समझ में आ जाता है हमें अब इसके बाद हम देखेंगे इसके अंदर कुछ कुछ फंक्शन कुछ कुछ मेथड स्ट्रिंग के लेकिन लन स्ट्रिंग में आपको बना के दिखाता हूं कैसे काम करते है स्ट्रिंग इसके अंदर में आया और लेट्स क्रिएट अनदर क्लास लेट्स नेम इट स्ट्रिंग बेसिक्स एंड लेट मी डू दिस पब्लिक स्टेटिक वॉइड मेन ठीक है इसके अंदर हमने आई और स्ट्रिंग बनाया स्ट्रिंग नेम इक्वल टू अनुज या फिर स्ट्रिंग न्यू नेम इ टू न्यू अनुज ठीक है तो न्यू स्ट्रिंग पहले उसके अंदर अनुज यह अल बना होगा मेमोरी के अंदर यह अलग बना होगा मेमोरी के अंदर ठीक है वहीं पे अगर मैंने ऐसा बनाया स्ट्रिंग सेम नेम इक्वल्स टू अनुज तो आपको समझ में आया होगा कि ये वाला बना होगा हमारा स्ट्रिंग पूल एरिया के अंदर बिकॉज़ दिस इज यूजिंग द लिटरल स्ट्रिंग लेटरल ये वाला इसने चेक किया होगा स्ट्रिंग मेमोरी ने स्ट्रिंग पूल एरिया ने कि अ ऑलरेडी अनुज बन रखा है ऑलरेडी अनुज नाम का डाटा जो है वह हमारा स्टोर्ड है तो एक काम करते हैं सेम नेम और नेम इन दोनों को सेम ही जगह प पॉइंट करा देते हैं फिर आपने बनाया न्यू नेम जैसे इस जावा ने देखा ये न्यू कीवर्ड बना है जैसे जावा ने देखा ये न्यू कीवर्ड की हेल्प से कुछ बन रहा है वैसे ही हीप एरिया के अंदर एक अलग जगह असाइन कर दी जाती है स दिस इज योर स्ट्रिंग बाय यूजिंग द न्यू कीवर्ड यहां पर अगर आप हव करोगे तो ये कहेगा न्यू स्ट्रिंग इज रिडंडेंट रिप्लेस विद आर्गुमेंट ठीक है यहां पे बोल रहा है आपको खुद ही कि ऐसे बना लो यार वो रिडंडेंट है वैसे मत बनाओ लेकिन आपको समझाने के लिए बता रहा हूं कि इस तरीके से भी आपकी स्ट्रिंग बन जाती है एक चीज आप और देखते हैं इक्वल करके देखते हैं स्ट्रिंग्स को कंपेयर करके देखते हैं दो स्ट्रिंग आपस में ठीक है एक बार आपको अगर प्रिंट करना तो प्रिंट करके भी देख सकते हैं आपने लिखा नेम ऐसे तो तो भी अनुज प्रिंट होगा उसके अलावा आप अगर न्यू नेम लिखोगे तो भी अ प्रिंट होगा यह तो बहुत बेसिक है ठीक है इसे रन करते हैं यहां देख रहे हो दोनों जग पर अनुज प्रिंट हो रहा है बिकॉज दिस इ स्ट्रिंग और आप बिना स्ट्रिंग को स्ट्रिंग के वेरिएबल को बनाए भी आप स्ट्रिंग बना सकते हो कैसे आप यह लिखते हो एस आउट और यहां पर पास किया सपोज करो अनुज तो यहां पर भी आपकी स्ट्रिंग बन रही है ठीक है यहां पर भी आपका स्ट्रिंग ऑब्जेक्ट बन रहा है बस हो क्या रहा है कि ये बना तुरंत इसने प्रिंट किया अपना काम और मेमोरी में से निकल गया ये इसको आपने किसी वेरिएबल को असाइन नहीं किया तो अनुज कुमार डाटा के साथ एक स्ट्रिंग बनी होगी और यह भी हमारी हीप एरिया के अंदर स्ट्रिंग पूल एरिया के अंदर ही बन रही है ठीक है बिकॉज यू आर नॉट यूजिंग अ न्यू कीवर्ड हियर तो यहां पर भी जो स्ट्रिंग है स्ट्रिंग लिटरल ये वाला आपका स्ट्रिंग लिटरल है राइट अच्छा दिस इज स्ट्रिंग लिटरल मैंने आपको आई थिंक यहां पर गलत बता दिया अ दिस इज नॉट स्ट्रिंग लेटरल सॉरी दिस इज नॉट स्ट्रिंग लेटरल ठीक है दिस इज रंग अ दिस थिंग राइट हियर दिस इज स्ट्रिंग लिटरल ऑल राइट व्हेन यू आर यूजिंग दिस दिस इ स्ट्रिंग लिटरल तो समझ में आ रहा होगा कि यहां पर जब भी आप लगाते हो ऐसे जब भी आप ऐसे करते हो ना डबल कोट्स में लगाते हो तो उस टाइम पर जो भी अंदर आपने लिखा है दैट बिकम अ स्ट्रिंग और स्ट्रिंग अगर आप लिख रहे हो तो मेमोरी में कहीं ना कहीं स्टोर भी होगी जो स्टोर होगी तो ये आपने स्ट्रिंग बनाई है यूजिंग स्ट्रिंग लिटरल तो ये हमारी स्ट्रिंग पुल एरिया के अंदर बन जाएगी जबकि ये वाली जो स्ट्रिंग है ये हमारी हीप एरिया के अंदर नॉर्मल हीप एरिया जो सभी ऑब्जेक्ट्स के लिए असाइन होता है वहां पर बन रही है अब जरा देखते हैं कि स्ट्रिंग को कैसे कंपेयर करते हैं दो स्ट्रिंग को जब हम कंपेयर करते हैं तो वहां पर अब कंपेरिजन जो है ना वो बड़े आराम से समझ में आने वाला है हमें कि स्ट्रिंग कैसे कंपेयर हो रही है आपस में अगर आपको मैं हीप मेमोरी और ये सब समझाता नहीं ना तो आपको समझ में नहीं आता कि कैसे दो स्ट्रिंग कंपेयर होती है आपस में लेकिन अब बहुत ही क्लियर हमें समझ में आने वाला है देखो आपने जब बनाया दो स्ट्रिंग को ऐसे नॉर्मल बनाया आपने जब ऐसे बनाया स्ट्रिंग नेम इक्व टू अनुज और नेम इ शिवम आपने किया या फिर ऐसा देखते हैं यहां पर देखो नेम बनाया आपने अनुज और रैंडम आपने बनाया अनुज ये दोनों के दोनों सेम जगह को पॉइंट कर रहे है राइट सेम अनुज जगह को पॉइंट कर रहे हैं तो यह दोनों दोनों सेम है राइट अगर मैं कुमार बनाता तो रैंडम कुमार को पॉइंट करता इसके अंदर लेकिन अभी दोनों दोनों सेम ही चीज को पॉइंट कर रहे हैं लेकिन जो नेम टू है यह एक अलग जगह को पॉइंट कर रहा है राइट ये अलग मेमोरी लोकेशन को पॉइंट कर रहा है तो यहां पर यह चीज आपको याद रखनी है अभी फिलहाल के इसका यूज होगा इस यूज कैसे होगा कि जब आपको दो स्ट्रिंग को कंपेयर करना है आपको देखना है क्या ये स्ट्रिंग इस स्ट्रिंग के बराबर है क्या तो उसके लिए हम क्या यूज करते हैं उसके लिए हम यूज करते हैं डबल इक्वल टू का राइट आप नर्मल इंट वगैरह लंग वगैरह कंपेयर करते हो तो उसके लिए आप डबल इक्वल टू यूज कर रहे होते हो फर एग्जांपल आप चेक करते हो इफ 4 = 4 आपको चेक करना है कि क्या ये जो फोर है इस वाले फोर के इक्वल है कि नहीं है आपको हां से पता चलता है कि यहां दो चीजें इक्वल है कि नहीं है इस तरीके से आप चीज को कंपेयर करते हो इसी तरीके से आप लोग चाहो तो स्ट्रिंग्स को भी कंपेयर कर सकते हो तो इफ नेम इक्वल्स टू सेम नेम मैं यहां पे प्रिंट कर देता हूं कुछ कि बोथ आर सेम सो जरा चला के देखते हैं हम देखते हैं क्या ये दोनों सेम है कि नहीं है तो आपको देखिएगा कि हां ये दोनों के दोनों सेम है बोथ आर सेम यहां पर प्रिंट हो रहा है राइट इस अनुज कुमार को मैं यहां से हटा देता हूं यहां पर बोथ आर सेम प्रिंट हो रहा है इसका मतलब ये दोनों सेम है और हमें दिख भी रहा है हां यार सेम तो होंगे ही दोनों के अंदर सेम वैल्यू स्टोर्ड है लेकिन आपको दिख रहा है कि जो न्यू नेम है इसके अंदर भी तो अनुज वैल्यू स्टोर्ड है लेकिन जब आप इसको कंपेयर करोगे यहां पे अगर आप करोगे नेम इक्व न्यू नेम ठीक है तो मैं इसको करता हूं यहां पर कॉपी और यहां पर मैं लिख देता हूं स नेम इक्वल टू न्यू नेम एल्स बोथ आर नॉट सेम तो आप देखोगे इस केस में इस वाले फल्स के केस में क्या होगा यह दोनों अलग है यह वाला इफ अलग है नीचे वाला इफल्स अलग है आप रन करते हैं आपको क्लियर नहीं समझ में आने वाला है यहां प्रिंट हो रहा है बोथ आर नॉट सेम आप लोग भैया वैल्यू तो दोनों के अंदर सेम है यहां भी अनुज प्रिंट हो रहा है यहां भी अनुज प्रिंट हो रहा है जब नेम और न्यू नेम दोनों के अंदर अनुज प्रिंट हो रहा है तो ये फिर बोथ आर नॉट सेम क्यों प्रिंट हो रहा है तो मैं यहां पर आपको एक कांसेप्ट बताने वाला हूं व्हिच इज दिस कि जब आप डबल इक्वल टू का यूज़ कर रहे होते हो ना तो उस केस में आपकी एक्चुअल ऑब्जेक्ट की वैल्यूज चेक नहीं होती है उस केस में आपके रेफरेंसेस चेक किए जाते हैं देखो मैंने आपको बताया था कि यहां पर आपके दो मेमोरी होती है एक स्टैक मेमोरी होती है एक हीप मेमोरी होती है स्टैक मेमोरी के अंदर आपको यूजुअली रेफरेंसेस स्टोर होते हैं ठीक है रेफरेंसेस क्या है जैसे आपने नेम बनाया नेम इज अ रेफरेंस राइट रैंडम दिस इज आल्सो रेफरेंस जो जो भी इक्वल टू के लेफ्ट साइड में है ये सारी चीजें ऑल दीज आर रेफरेंसेस ठीक है उस उनकी जो वैल्यू है ऑब्जेक्ट के अंदर जो वैल्यू बन रही है वो आपकी ही मेमरी में बन रही है तो रेफरेंसेस भी कहीं ना कहीं स्टोर होते ही है तो जब आप इक्वल टू यूज करते हो ऐसे डबल इक्वल टू ऑब्जेक्ट के केस में कंपेयर करने के लिए दो चीजों को तो उस केस में आपके रेफरेंसेस कंपेयर किए जाते हैं तो पहले वाले केस में हुआ क्या कि आपके रेफरेंस से सेम जगह को पॉइंट कर रहे हैं नेम भी सही सेम जगह को पॉइंट कर र है और सेम नेम भी दोनों के दोनों सेम चीज को पॉइंट कर रहे हैं ठीक है बोथ आर रेफरेंसिंग टू द सेम थिंग ये देख रहे इस जगह को रेफरेंस कर रहे हैं दोनों के दोनों इसीलिए माना जाएगा कि हां दोनों के दोनों सेम चीजें हैं लेकिन जब आपने इक्वल टू लगाया दूसरी चीज में तो आप क्या कर रहे हो नेम और न्यू नेम न्यू नेम बाहर है मेमोरी के बाहर पड़ा हुआ है राइट इसको यहां पर भी समझते हैं कि आपने बनाया ये आपकी स्ट्रिंग मेमोरी है राइट इसके अंदर हीप मेमोरी के अंदर यहां पे आपने बनाया पहले नेम ठीक है यह वाला नेम बनाया आपने ये नेम आपने बनाया बाहर कहीं लेकिन दिस नेम इज पॉइंट टू दिस थिंग अनुज यहां पर मैंने लिखा हुआ है और जब मैंने बनाया सेम नेम तो सेम नेम भी इसी जगह को पॉइंट कर रहा है सेम नेम भी सेम जगह को पॉइंट कर रहा है उसके बाद जब मैंने न्यू नेम बनाया तो न्यू नेम मेरा अलग जगह बना है और आपको समझ में आ रहा है क्यों क्योंकि वहां पर न्यू न्यू कीवर्ड का यूज किया गया है तो इसके लिए आपकी अलग ही मेमोरी में जगह बनती है वैल्यू उसके अंदर भी अन स्टोर्ड है लेकिन जो डबल इक्वल टू है डबल इक्वल टू क्या करता है ये आपके रेफरेंसेस चेक करता है अंदर की वैल्यू को चेक नहीं करता है कि अंदर दोनों जगह सेम लिखा हुआ है नहीं ये आपके रेफरेंसेस को चेक करता है और हमें पता है जो न्यू नेम है वो अलग रेफरेंस को पॉइंट कर रहा है तो दोनों के दोनों सेम कैसे होंगे इसीलिए ये दोनों तो आपके सेम है बिकॉज़ दीज टू आर सेम लेकिन ये दोनों आपके अलग हैं बिकॉज़ दिस इज़ पॉइंट हियर एंड दिस इज पॉइंट हियर दोनों अलग-अलग जगह को पॉइंट कर रहे हैं तो बराबर कैसे हो सकते हैं इसीलिए ये तो सेम है ऊपर वाले नीचे वाले सेम नहीं है ठीक है यह और ये कंपेयर करोगे तो सेम नहीं है सिमिलरली ये और यह कंपेयर करोगे तो सेम नहीं है लेकिन यह दोनों यह दोनों बराबर है यह दोनों सेम है जहां बात हो रही जहा बात हो रही है इक्वल की इक्वल टू इक्वल टू ठीक है कंपेरिजन ऑपरेटर की जब यहां पर कंपेरिजन ऑपरेटर की बात होती है तो मैं दोबारा रिपीट करता हूं कंपेरिजन ऑपरेटर ऑब्जेक्ट के केस में रेफरेंसेस को चेक करते हैं स्ट्रिंग इ एन ऑब्जेक्ट आप बोलो भया जब मैं क रहा था यह जज बनाया मैंने इंट करके इंट जज बनाया मैंने और मैंने इंट लेट से मार्क्स बनाया मैंने और दोनों के अंदर मैंने लेट से 14 14 स्टोर कर दिया तो ये तो सेम जगह को पॉइंट कर रहे हैं लेकिन नहीं सेम जगह को पॉइंट नहीं कर रहे ये अलग अलग जगह को पॉइंट कर रहे लेकिन यह आपके प्रिमिटिव डाटा टाइप्स हैं ठीक है इक्वल टू इक्वल टू बोलता है कि प्रिमिटिव डेटा टाइप्स के अंदर तो मैं इनकी वैल्यूज को चेक कर लूंगा जो भी वैल्यूज है यहां पर लेकिन नॉन प्रिमिटिव डेटा टाइप्स के केस में मैं इनके रेफरेंस को चेक करूंगा कि रेफरेंस आर पॉइंट एट द सेम एड्रेस और नॉट इफ रेफरेंसेस आर पॉइंट एट द सेम एड्रेस तब मैं बोलूंगा दोनों बराबर है अगर सेम रेफरेंस को पॉइंट नहीं कर रहे हैं तो मैं बोलूंगा बराबर नहीं है क्लियर हो रही है बात धीरे-धीरे करके ठीक है आप मैं दो तरीके से बताने का ट्राई कर रहा हूं कि जो आपके नॉन प्रिमिटिव डेटा टाइप्स होते हैं उसके केस के अंदर जब आप इक्वल टू कर रहे होते तो आपकी वैल्यू चेक होती है सही बात है 14 ये वाला अलग स्टोर्ड है ये वाला 14 अलग स्टोर्ड है लेकिन यहां पर इनकी वैल्यू चेक हो रही है बिकॉज दे आर प्रिमिटिव डेटा टाइप्स इंट इंट लेकिन स्ट्रिंग जो है वो आपके नॉन प्रिमिटिव डेटा टाइप है और नॉन प्रिमिटिव डेटा टाइप के केस में जावा ने बोल रखा है कि जब आप ऐसे कंपेयर करोगे दो चीजों को तो उस केस में हम रेफरेंसेस को कंपेयर करा रहे होंगे ठीक है कि रेफरेंसेस कहां पॉइंट कर रहे है इनको हम और अच्छे से समझ रहे होंगे जब हम बात करेंगे ऊप्स की उसमें ऑब्जेक्ट्स वगैरह देख रहे होंगे क्लासेस वगैरह देख रहे होंगे तो वहां पर भी ये चीजें क्लियर होने वाली है वहां पर हम दोबारा से देखेंगे कंपैरेटर वगैरह समझ रहे होंगे ठीक है तो वहां पर दोबारा ये सब चीजें आएंगी लेकिन अगर आपको अभी भी समझ में नहीं आ रही तो एक बार दोबारा इसी चीज को देखने का ट्राई करना उसके बाद भी समझ में आ र तो आप पूछो हमसे कि भैया ये क्या हो रहा है ठीक है समझ नहीं आए कि कंपेयर कैसे हो रहा है बहुत वैसे सिंपल है समझ में आ जानी चाहिए चीजें क्योंकि ये सब हम यहां पर देखते आए हैं क्योंकि हमें पता है कि जावा के अंदर स्ट्रिंग किस तरीके से क्रिएट होती है हमें पता है कि लिटरल क्या होता है और न्यू कीवर्ड क्या होता है हमें ये भी पता है कि मूटे बल होती है जावा के अंदर स्ट्रिंग वो क्यों होती है और उसके साथ ही अब हमें ये भी समझ में आ रहा है ठीक है धीरे-धीरे करके चीजें अनफोल्ड हो रही है क्योंकि सिस्टमिक तरीके से सब कुछ हम देख रहे हैं ऑलराइट तो ये था आपका नॉर्मल की स्ट्रिंग के अंदर आप कंपेयर कैसे करते हो तो आप बोलोगे भैया फिर ठीक है मुझे अगर इनकी वैल्यूज को कंपेयर करना तो मैं क्या करूंगा अभी तो आप बता रहे हो कि हां ठीक है इक्वल टू इक्वल टू से तो रेफरेंसेस कंपेयर हो रहे हैं मुझे लेकिन इनके अंदर की वैल्यूज को कंपेयर करना है तो उसके लिए अब मैं क्या कर सकता हूं तो मैं बोलूंगा सुनो उसके लिए जावा ने स्ट्रिंग के अंदर ऑलरेडी एक प्रावधान दे रखा है ठीक है एक मेथड दे रखा है आपको एक फंक्शन दे रखा है उसका यूज कर सकते हो आप एंड दैट फंक्शन इज कॉल्ड इक्वल्स वो मैंने यहां पर लिखा हुआ है इक्वल्स तो आप इक्वल्स मेथड का यूज कर सकते हो उसके लिए इक्वल्स मेथड क्या बोलता है कि आप दो स्ट्रिंग की वैल्यूज को कंपेयर कर सकते हो इसकी हेल्प से ठीक है दो स्ट्रिंग की वैल्यूज को कंपेयर कर सकते हो तो अगर आपका एक स्ट्रिंग कहीं और है एक स्ट्रिंग कहीं और है और आपको उनकी वैल्यूज को कंपेयर करना है आपको फर्क नहीं पड़ता वो कहां का रेफरेंस को पॉइंट कर र है नहीं आप चाहते हो नॉर्मल उनकी वैल्यूज को कंपेयर करना कि उनके अंदर दोनों में अनुज लिखा हुआ है क्या अगर लिखा है तो मैं बराबर मान लूंगा उनको तो जावा ने बोल रखा है उसके लिए हमारे पास एक इक्वल्स मेथड है जिसका आप यूज कर सकते हो तो जरा वो समझ लेते एक बार कैसे काम करता है इक्वल मेथड तो यह तो आपको दिख रहा यह तो काम नहीं करेगा ठीक है इसको मैं करता हूं कमेंट लेकिन वही पर मैं अगर लगाऊ यह कि इफ नेम डॉट इक्वल्स और यहां पर मैं डालता न्यू नेम एस आउट नेम एंड न्यू नेम आर हैव सेम वैल्यूज तो जरा देखते हैं क्या दोनों के अंदर सेम वैल्यू है या नहीं है चलाते हैं अब देखो य परहा नेम एंड न्यू नेम आर सेम वैल्यूज दोनों के सेम वैल्यू है क्योंकि दोनों दोनों इक्वल है इक्वल कैसे क्योंकि आप इक्वल मेथड का यूज कर रहे हो तो जब आप जावा के अंदर शिंग के अंदर इक्वल मेथड का यूज करते हो तो उस केस में इन दोनों के अंदर की वैल्यू को कंपेयर किया जाता है क्या नेम के अंदर क्या वैल्यू है नेम के अंदर वैल्यू है अनुज ओके ए ए य ज उसके बाद न्यू नेम के अंदर क्या वैल्यू है न्यू नेम के अंदर भी वैल्यू है अनुज दोनों के वैल्यू सेम है तो इसका मतलब दोनों सेम है अगर वैल्यू अलग है दोनों में सपोज करो इसके अंदर अनुज कुमार है तो यहां पर ये प्रिंट नहीं होगा ठीक है यहां पर प्रिंट नहीं गा यहां पर मैं एल्स लगा देता हूं एल्स नॉट सेम राइट तो यहां पर नॉट सेम प्रिंट होने वाला है हमारा एक चीज और यह आपका केस सेंसिटिव होता है जावा हमेशा केस सेंसिटिव ही रहेगा चाहे कुछ हो जाए इसका मतलब यह चीज और न्यू नेम के अंदर सपोज करो आपने लिख दिया ये कैपिटल ए कैपिटल एन कैपिटल य कैपिटल ज इस बार ये दोनों दोनों अलग है इनके अंदर जो वैल्यूज है वो भी अलग-अलग है तो आप देखोगे नॉट सेम प्रिंट होने वाला है इस केस में भी अगेन नॉट सेम प्रिंट हुआ आप बोलोगे कैसे दोनों में तो अनुज है मैं बोलूंगा नहीं यार अनुज है ठीक है लेकिन ये दोनों के दोनों अलग-अलग है बिकॉज जावा इज के सेंसिटिव इन नेचर तो अगर आपको एक्जैक्ट मैच करना है इस तरीके से अब आप देख रहे हो एक्जैक्ट मैच कर रहे हैं तभी आपको सेम बता रहा है यस बोथ हैव सेम वैल्यूज लेकिन आपको आप चाहते हो कि नहीं यार केसेस को इग्नोर कर दो तो उसके लिए आपके पास एक और मेथड होता है वि इज कॉल्ड दिस इक्वल्स इग्नोर केस यह दूसरी स्ट्रिंग को कंपेयर करने के काम में आता है और यह आपके केसेस को इग्नोर कर देता है ठीक है इसमें आपने जावा को ऑलरेडी बोल रखा है कि केसेस को इग्नोर कर दो अगर एक अनुज ऐसे बना हुआ है और एक अनुज सपोज करो ऐसे बना हुआ है तो भी दोनों को सेम बना दो तो अगर आप नॉर्मल इक्वल्स करोगे तब तो नॉट सेम प्रिंट हो रहा है लेकिन अगर आप करोगे इक्वल्स इग्नोर केस आप केसेस इग्नोर कर रहे हो तो उस केस में देखोगे दोनों के दोनों सेम प्रिंट होने वाले हैं देखो सेम वैल्यूज है तो दोनों में से किसी का भी आप यूज कर सकते हो आपके क्वेश्चन प डिपेंड करता है कि आपको क्वेश्चन किस टाइप का आया है यूजुअली आप इक्वल्स यूज कर रहे होते हो लेकिन आपके पास इक्वल्स इग्नोर केस का भी एक ऑप्शन होता है जो मैंने आपको बता दिया है ठीक है इसके अंदर केसेस इग्नोर हो जाते हैं और नॉर्मल वाले के अंदर आपके केसेस होते हैं अब आगे बढ़ने से पहले जरा कुछ और क्वेश्चंस कर लेते हैं एक बहुत ही बेसिक एक्सरसाइज करते हैं इसके अंदर तो न्यू क्लास बना लेता हूं मैं और लर्न स्ट्रिंग इस वाले को हम बंद कर देते हैं अगेन पब्लिक स्टैटिक वॉइड मेन और सपोज करो मैंने आपसे बोला आपका फर्स्ट नाम बताओ मुझे और लास्ट नेम बताओ और मैं दोनों को कंपेयर कंबाइन करके आपका असली नाम आउटपुट कर दूंगा ऐसा कुछ क्वेश्चन है तो ये बहुत ही सिंपल हम कर सकते हैं कैसे पहले तो आपको बोलूंगा कि अपना फर्स्ट नेम बताओ तो एंटर योर फर्स्ट नेम राइट एंटर योर फर्स्ट नेम उसके बाद आप एंटर करोगे अपना फर्स्ट नेम तो इनपुट लेने के लिए क्या यूज करते हैं हम जब हम यूजर से इनपुट लेते हैं तो तो हमने यूजर इनपुट ऑलरेडी पढ़ा हुआ था राइट उसके लिए हम यूज करते हैं स्कैनर क्लास के ऑब्जेक्ट का तो स्कैनर एसी इटू टू न्यू स्कैनर और सिस्टम डट इन इंटेलिजेंट ने अपने आप ही स्कैनर को यहां पर इंपोर्ट कर लिया है उसके बाद हम इसका यूज कर सकते हैं य पर एससी डॉट नेक्स्ट लाइन ठीक है एससी ड नेक्स्ट लाइन से क्या होता है हमारी अगली लाइन जो आप पूरी की पूरी लाइन प्रिंट कर रहे हो ना वो लाइन पूरी की पूरी मिल जाएगी इसे तो आप यहां पर एक लाइन प्रिंट करोगे और उसको आप डाल दोगे स्ट्रिंग के अंदर तो स्ट्रिंग फर्स्ट नेम इक्वल टू दिस एड नेक्स्ट लाइन बिकॉज दिस रिटर्न्स अ ंग उसके बाद आपने उससे मांगा दूसरा नाम आपका क्या है लास्ट नेम एंटर योर लास्ट नेम और उसके बाद आपने वो भी लिया स्ट्रिंग लास्ट नेम इक्टू एडॉट नेक्स्ट लाइन ये दोनों आपने प्रिंट करा लिए उसके बाद आपको प्रिंट करना है यहां पर एस आउट योर फुल नेम इज और यहां पर स्पेस दे मैं लगाऊंगा प्लस फर्स्ट नेम प्लस स्पेस देके एक इक्वल प्लस लास्ट नेम अब जरा चला के देखते हैं आपको तब समझ में आएगा ठीक से अगर अभी क्लियर नहीं हुआ वैसे तो बहुत सिंपल था लेकिन रन करते हैं इसको आप देखोगे एंटर योर फर्स्ट नेम मैं डालूंगा य पर अनुज हिट करूंगा एंटर एंटर योर लास्ट नेम यहां पर डालूंगा शर्मा ड करूंगा एंटर तो यहां पर पूरा आ गया योर फुल नेम इज अनुष शर्मा ठीक है ड़ा सिंपल था साहब एक चीज और मैं आपको बताना चाहूंगा वो ये कि यहां पर मल्टीपल स्ट्रिंग्स ऑलरेडी बन गई है आपको देख के लग रहा होगा भैया यहां पे स्ट्रिंग कहां का बन रही है तो मैं आपको बताता हूं यहां पे ऑलरेडी मल्टीपल स्ट्रिंग आपकी बन गई है मैं दिखाता हूं कहां-कहां एक तो यह स्ट्रिंग बनी आपकी राइट एंटर योर फर्स्ट नेम उसके बाद एसी डॉट नेक्स्ट लाइन ने जो भी आपको दिया और जब आपको स्ट्रिंग में डाला गया तो एक और स्ट्रिंग यहां पे बन गई आपकी उसके बाद ये भी आपकी स्ट्रिंग ही बनी है उसके बाद जब आपने यह नई लाइन मांगी तो यह भी आपकी स्ट्रिंग बन जाएगी उसके बाद जब आपने ये प्लस प्लस किया ना यहां पे और ये आपने किया पूरा का पूरा काम तो यहां पर भी आपकी स्ट्रिंग ही बन रही है यह अलग स्ट्रिंग बनी है योर फुल नेम इज उसके बाद फर्स्ट नेम देन स्पेस लगा के लास्ट नेम यह आपकी एक अलग स्ट्रिंग बनी है जावा के अंदर तो यहां पर आपकी मल्टीपल स्ट्रिंग्स बन रही है ठीक है स्ट्रिंग इस तरीके से काम करता है आपका और स्ट्रिंग के अंदर आप इस तरीके से कंकट कर सकते हो बाय यूजिंग दिस प्लस प्लस की हेल्प से आप दो स्ट्रिंग्स को कंबाइन कर सकते हो आपको समझ में आ रहा होगा आपके पास अगर एक फर्स्ट मम है फर्स्ट नेम और आपके पास अगर एक लास्ट नेम है आप चाह दोनों को कंबाइन करना तो कंबाइन करने के लिए आप बीच में प्लस लगा दो और दोनों दोनों कंबाइन हो जाएंगे दोनों के दोनों चिपक जाएंगे आपस में ठीक है एकदम चिपक जाएंगे ग्लू की तरफ जैसे कि आप सपोज करो यहां पे फर्स्ट नेम लास्ट नेम को बिना किसी चीज के बस ऐसे प्रिंट कराना चाहते हो तो सपोज करो आप ये कर सकते हो फर्स्ट नेम प्लस लास्ट नेम तो यूजुअली तो प्लस क्या करता है जैसे अगर इंट वगैरह रखा हो तो इंट होगा तो दो इंट को ऐड कर देगा राइट कि अगर फर्स्ट ने में सपोज करो टू रखा होता इंट के अंदर लास्ट ने में इंट के अंदर सपोज करो थ्री रखा होता तो प्लस क्या करता है टू प् 3 5 कर देता है लेकिन स्ट्रिंग के केस में प्लस ने क्या कर रखा है प्लस को हमने ओवरलोड कर रखा है ओवरलोड मतलब प्लस को हमने कुछ और काम दे रखा है स्ट्रिंग के केस में और मैंने बोल रखा है कि सुन स्ट्रिंग के केस में तुम्हें इन दोनों को कंबाइन कर देना है मैं यहां पर कुछ भी डालता हूं एसडीएफ और यह तो आप देखोगे यहां पर इन दोनों को इसने कंबाइन कर दिया है और एक नई स्ट्रिंग बना दी यहां प इसने इसको आप चाहो तो एक अलग वेरिएबल में भी स्टोर कर सकते हो लेकिन हां प्लस के केस में आपकी एक नई स्ट्रिंग बनती है और दो स्ट्रिंग को कंबाइन कर दिया जाता है व्हेन वी आर टॉकिंग अबाउट स्ट्रिंग तो इस तरीके से आपकी स्ट्रिंग काम करती है एक चीज और आप सोच सकते हो कि भैया अगर मैं यहां पर स्ट्रिंग के अंदर नंबर्स डालूंगा तो क्या होगा सपोज करो मेरा फर्स्ट नंबर है फर्स्ट नेम है थ्री और मेरा लास्ट नेम है लेट्स से फाइव तो आपको दिख रहा होगा फर्स्ट नेम में थ्री वैल्यू स्टोर्ड है लास्ट नेम में फाइव वैल्यू स्टोर है जब मैं दोनों को प्लस करूंगा तो क्या प्रिंट होगा क्या एट प्रिंट होगा अब तो समझ में आ जाना चाहिए कि एट प्रिंट नहीं होगा यहां पे हमें 35 प्रिंट होने वाला है 35 क्यों क्योंकि फर्स्ट नेम के अंदर स्ट्रिंग के अंदर आपका थ्री स्टोर्ड है और लास्ट नेम के अंदर स्ट्रिंग के अंदर आपका फव स्टोर है तो थ्री और फ स्ट्रिंग की तरह ही कंबाइन होंगे और फिर आपको जो वैल्यू मिलेगी वो स्ट्रिंग के अंदर ही आपको मिलेगी ठीक है तो 3 और 5 35 ये आपका 35 भी आपका स्ट्रिंग ही है ये नंबर नहीं है दिस इज अ स्ट्रिंग तो इसके अंदर आप नंबर वाले ऑपरेशन नहीं कर सकते इसके अंदर आप मल्टीप्लाई वगैरह नहीं कर सकते हैं ये आपका स्ट्रिंग है तो ये आपका स्ट्रिंग ही बन के रहेगा ठीक है जावा के अंदर स्ट्रिंग इनपुट लेने का एक और तरीका होता है व्हिच इज कॉल्ड एनेस्ट ठीक है स्कैनर क्लास की हेल्प से अगर आपको एक और इनपुट लेनी है स्ट्रिंग की तो उसके अंदर आप एड नेक्स्ट लाइन की जगह एक चीज और होती है इज कॉल्ड एड नेक्स्ट ये आपको मैं एक और चीज बताता हूं और इससे भी आप स्ट्रिंग ही इनपुट ले रहे होते हो लेकिन ये क्या करता है ये अगर स्ट्रिंग के अंदर स्पेसेस लगे हुए हैं ना तो उन स्पेसेस को ये मल्टीपल वर्ड्स में क कन्वर्ट कर देता है इसका मतलब अगर सपोज करो आपने एक स्ट्रिंग इनपुट ली माय नेम इज अनुज तो एड नेक्स्ट लाइन तो पूरी की पूरी माय नेम इज अनुज को एक स्ट्रिंग बना के ले लेगा अपने अंदर लेकिन अगर आप एने लिखते हो तो ये सिर्फ मा को लेगा उसके बाद स्पेस के बाद जो कुछ भी है उसको इग्नोर कर देगा उसको ये डंप कर देगा उसको ये इनपुट नहीं लेगा तो इसको अगर आपको एक्शन में देखना है तो आप ऐसे कर सकते हो कि सपोज करो फर्स्ट नेम इक्वल टू एड नेक्स्ट लाइन और सेकंड नेम जो है मैं यहां पर सेकंड नेम में एड नेक्स्ट लाइन की जगह एड नेक्स्ट लगा देता हूं बस इस तरीके से तो इसको मैं दोबारा रन करता हूं तो आप देखोगे फर्स्ट नेम क्या है फर्स्ट नेम मैं डालता हूं अनुज कुमार ठीक है अनुज के बाद स्पेस लाके मैंने कुमार लगाया और लास्ट नेम में लगाता हूं मैं लेट्स से शर्मा प्रसाद ठीक है तो अनुज कुमार शर्मा प्रसाद तो आप बताओ यहां पर क्या प्रिंट होने वाला है जो मैंने अभी आपको बताया उसके हिसाब से तो एसी डट नेक्स्ट लाइन तो पूरी की पूरी लाइन को अपना इनपुट ले लेगा तो अनुज कुमार आपका फर्स्ट नेम में आ जाएगा लास्ट नेम में आपका सिर्फ शर्मा आना चाहिए ठीक है प्रसाद नहीं आएगा बिकॉज बीच में एक स्पेस लगा हुआ है जरा रन करते हैं तो आप देखोगे यहां पर प्रिंट हो रहा है अनुज कुमार शर्मा इवन यहां पर भी अनुज कुमार शर्मा प्रिंट हो रहा है ठीक है प्रसाद नहीं आ रहा है यहां पर दोनों ही केसेस में बिकॉज लास्ट नेम के अंदर आपका प्रसाद स्टोर है ही नहीं लास्ट नेम अगर आप यहां पर प्रिंट करागे आप देखोगे लास्ट नेम के अंदर सिर्फ दवारा रन करते हैं अनुज कुमार शर्मा प्रसाद जो भी आप लगाओगे यहां पर लास्ट नेम के अंदर सिर्फ पहली चीज को लेगा विच इज कुमार ठीक है तो लास्ट नेम में सिर्फ कुमार आ रहा है तो एड नेक्स्ट यूज करना है या फिर एड नेक्स्ट लाइन यूज करना है य आपको अपने डिस्कशन पर देखना होता है कि आपके पास क्वेश्चन किस तरीके का आया है आपके पास अगर क्वेश्चन ऐसा है कि नहीं जो मल्टीपल स्पेसेस के बास चीजें आ रही है उनको आपको एक एक वर्ड की तरह ट्रीट करना है तो उस केस में आपको दिख रहा है कि मुझे एड नेक्स्ट यूज करना चाहिए लेकिन अगर आपको दिख रहा है कि नहीं ऐसा नहीं है मुझे पूरी की पूरी लाइन को एक स्ट्रिंग बनाना है तो उस केस में आप एड नेक्स्ट लाइन भी यूज़ कर सकते हो दोनों में से कुछ भी यूज़ करना है वो आपके क्वेश्चन पर डिपेंड करता है कि क्वेश्चन किस तरीके का है उसके हिसाब से काम आगे बढ़ता है यूजुअली आप मेरे को देखोगे कि मैं एसी डट नेक्स्ट लाइन ही ले रहा होता हूं हमेशा मैं चाहता हूं कि हमेशा लाइन पूरी की पूरी जो भी है वो पूरी की पूरी मुझे स्ट्रिंग के अंदर मिल जाए उसके बाद अगर मुझे कुछ करना भी है ना स्पेस वगैरह के साथ कि अगर मैं चाहता हूं कि नहीं मुझे तो मल्टीपल वर्ड्स बाहर निकालने इसके अंदर से या फिर कुछ भी करना है तो उसके लिए मुझे स्ट्रिंग के अंदर बहुत सारे मेथड्स दे रखे हैं जावा ने मैं उनका यूज़ कर ले ठीक है तो अगर मुझे मल्टीपल वर्ड्स बाहर निकालने है तो मैं स्प्लिट वगैरह कर लूंगा या कुछ और भी काम करना है तो उसके लिए और भी मेरे पास मेथड्स पड़े हुए हैं जो मैं यूज कर सकता हूं तो आई जस्ट गो विथ एड नेक्स्ट लाइन आई नेवर यूज एड नेक्स्ट ठीक है इसी के साथ हम आगे बढ़ते हैं और अब जावा के अंदर जो स्ट्रिंग मेथड्स उनको एक करके देखते हैं तो जावा ने ऑलरेडी काफ सार कूल कल मेथड्स आपको दे रखे हैं सपोज करो मैंने आपको बोल दिया कि यार नाम ना आपको ऐसे मिला हुआ है और मैंने बोला कि नहीं इसको ना ऑल कैप्स करके दो मुझे ऐसे तो यह क्वेश्चन आपको मैं दे सकता हूं राइट और आपको करना पड़ेगा ये क्वेश्चन करने का एक अलग तरीका है वो हम देखेंगे कभी लेकिन आपको जावा ने ऑलरेडी दे रखा है आपको तरीका एक कि टू ओपर केस हमारे पास एक मेथड है जिसके अंदर आप कोई भी स्ट्रिंग पास करोगे तो अगर वो अल्फाबेटिकल उसके अंदर चीजें हैं तो वो अपने आप ही ऑल कैप्स हो जाएंगी अगर ए है स्मल ए तो वो कैपिटल ए बन जाएगा स्मल ए आपका कैपिटल ए बन जाएगा एंड सो ऑन तो एक काम करते हैं इन सभी मेथड्स को एकएक करके देखते हैं और जानते हैं इनके बारे में वेरी इजी टू लर्न ठीक है सारे सार आपको नाम समझ में आते हैं और जितना आप इनको यूज करते जाओगे उतना ज्यादा और ये चीज क्लियर होती जाएंगी लेकिन एक एक करके जरा सभी को समझने का ट्राई करते हैं ठीक है तो व्ट आई विल डू इज स्ट्रिंग नेम इक्वल टू ए एन य ज 23 और यह कुछ पासवर्ड हो सकता है राइट अब क्या करते हैं एक एक करके सारे मेथड देखते सबसे पहला टू अपर केस आउट टू अपर केस ठीक है नेम जो आपका स्ट्रिंग था उसके बाद मैंने लगाया डॉट उसके बाद टू अपर केस और इसको हम रन करते हैं तो आप देखोगे यहां पर जो भी अल्फाबेटिकल चीजें थी वो ऑल कैप्स हो चुकी है राइट नंबर्स में तो कुछ होता नहीं है ऑल कैप्स वगैरह तो नंबर्स वैसे के वैसे ही है लेकिन जो पहले से कैपिटल था उसको तो कुछ चेंज नहीं किया जो स्मॉल वाले थे उसको इसने बड़ा कर दिया इस तरीके से अगला है टू लोअर केस तो टू लोअर केस समझ में आ रहा होगा कि अगर कुछ भी कैपिटल है तो वो स्मॉल हो जाएगा तो अगर मैं यहां पर लिखता हूं टू लोअर केस तो ये सब कुछ स्मॉल कर देने वाला है ठीक है तो मैं बता था कैपिटल ए था कैपिटल जे था लेकिन वो भी अब स्मल हो चुका है तो पूरा का पूरा नेम जो है वो स्मॉल हो चुका है तो यह तो बहुत सिंपल था अगला है ट्रिम ट्रिम आपका बेसिकली आगे पीछे से स्पेसेस हटाने के काम में आता है सपोज करो आपका जो नेम है कुछ ऐसा है आगे भी स्पेस लगा हुआ है और पीछे भी सपोज करो चार पांच स्पेसेस लगे हुए हैं तो जो आप इसको लोअर केस करोगे ना तो भी इसके अंदर स्पेसेस लगे ही रहेंगे यहां पर देखो आगे इतने सारे स्पेस है और पीछे भी स्पेसेस लगे हुए हैं आपके आप चाहते हो कि नहीं यार मुझे स्पेसेस नहीं चाहिए कई बार होता है आप नहीं चाहिए होते स्पेसेस राइट लेकिन यूजर ने लगा दिया स्पेस तो आपको तो कुछ करना पड़ेगा राइट तो उसके लिए आप सिंपल आओगे और लिख दोगे नेम डॉट ट्रिम इस तरीके से तो ट्रिम क्या करता है आपके नेम को आगे पीछे से छटाई कर देता है इसकी ठीक है ट्रम जैसे ट्रिम करते है दाढ़ी की वैसे तो देखो इसने आगे पीछे से स्पेसेस हटा दिए और आपका सिंपल सा जो बीच का जो पूरा माल था वो आपको लाके दे दिया है अगला है स्टार्टस विथ ये आपको पता था कि क्या कोई स्ट्रिंग स्टार्ट हो रही है किसी चीज से ठीक है फर एग्जांपल सपोज करो आप सीधा ऐसे भी कर सकते हो कि कारपेट डॉट स्टार्टस विथ और यहां पर लगाया मैंने बाइक तो अगर कारपेट बाइक से स्टार्ट हो रही होगी तो यहां पर ट्रू आएगा अदर वाइज फॉल्स आएगा देखते हैं हमें दिख रहा है यहां पर फॉल्स आने वाला है फॉल्स आ रहा है क्यों क्योंकि कारपेट के स्टार्टिंग के लेटर्स बाइक के बराबर नहीं है लेकिन यहां पर अगर मैं लगाता हूं कार तो कारपेट स्टार्टस विद कार यस कारपेट स्टार्टस विद कार राट तो यहां पर ट्रू आ रहा इस बार आगे इसके कार लगा हुआ है अगर मैं आप लगाऊ कार तो भी य पर ट्रू आएगा ठीक है अगर मैं लगाता हूं कार वन या कुछ भी लगाता हूं जैसे स्टार्ट नहीं हो रहा तो वहां पर आपका फल्स आने वाला है सिमिलरली आपका एंडस वि होता है आप चेक करना चाहते हो कि यह एंड्स विद पट लेट्स से तो मैं इसको यहां पर कमेंट कर देता हूं एंडस विद और पट तो हा इसके भी एंड में पैट है और ये एंड्स विथ पैट है यहां पर ट्रू प्रिंट हो रहा है एक चीज समझने वाली वो ये है कि यहां पर देख रहे हो ये मैंने एक स्ट्रिंग वेरिएबल में स्टोर नहीं किया इसको मैंने सिंपल यहां पर ऐसे स्ट्रिंग बना दिया है लेकिन क्योंकि यहां पर बाय लिटरल एक स्ट्रिंग बन चुकी है राइट आपने जैसे ही ये किया वैसे बाय लिटरल यू क्रिएटेडॉक्युमेंट्सफ्रैगमेंट तो आप इस तरीके से भी डायरेक्टली बिना कोई अ अ वेरिएबल असाइन किए मेथड्स यूज़ कर सकते हो यह बात समझनी चाहिए हमें ठीक है अगला है इक्वल्स इक्वल्स हमने ऑलरेडी देख लिया है कि दो स्ट्रिंग बराबर है कि नहीं है तो उसके हम इक्वल्स मेथड यूज़ कर सकते हैं कि कारपेट इक्वल्स टू पेट है कि नहीं है तो इसको मैं करता हूं लेट्स से रिपीट तो कमांड डी से रिपीट कमांड स्लश से कमेंट और यहां पर लगाया मैंने इक्वल्स तो मैं पता है कि यह दोनों इक्वल नहीं है राइट इनके अंदर की वैल्यू इक्वल नहीं है कारपेट इज़ नॉट इक्वल टू पेट यहां पर फॉल्स प्रिंट हो रहा है अगर मैं मैं यहां पर लगा दूंगा कारपेट तो मुझे पता है यहां पर ट्रू प्रिंट होने वाला है उस केस में बिकॉज दोनों के दोनों लिटरल का यूज करके बने और दोनों के दोनों के अंदर जो वैल्यू है वो सेम है इसलिए ये दोनों इक्वल है इक्वल्स इग्नोर केस हमें समझ में आ रहा है कि यहां पर केसेस इग्नोर कर दिए जाएंगे अगला है कैर एट ये बहुत ज्यादा यूजफुल है डीएसए के अंदर हम बहुत ज्यादा इसको यूज कर रहे होंगे कि आपको अगर बताना है कि स्ट्रिंग के अंदर किसी पोजीशन पर कौन सा कैरेक्टर प्रेजेंट है तो उसके लिए आपको कैर ट वाला जो मेथड है ये यूज करना होता है सपोज करो आप चाहते हो कि लेट से अगेन कार्पेट का एग्जांपल लेते हैं कार्पेट डॉट केर ट और यहां पर आप इंडेक्स बताओगे लेट्स से इंडेक्स नंबर थ्री तो इस स्ट्रिंग के अंदर थर्ड इंडेक्स पर कौन सा कैरेक्टर प्रेजेंट है आप में से कुछ लोग हो सकता है बोलेंगे आर प्रेजेंट है भैया मैं बोलूंगा नहीं आर नहीं प्रेजेंट है प प्रेजेंट है क्योंकि यहां पर जो इंडेक्स है इंडेक्सिंग आपकी हमेशा जावा के अंदर जीरो बेस्ड होती है तो प आपका थर्ड इंडेक्स पे है कैसे सी आपका जीरो इंडेक्स पे है ए आपका वन इंडेक्स पे है r टू इंडेक्स प है और प आपका ्र इंडेक्स प है तो यहां पर आपका जो थर्ड इंडेक्स पर जो कैरेक्टर है विच इज प वो प्रिंट होने वाला है यहां पर रन करते हैं तो आप देखोगे प प्रिंट हो रहा है और यह जो चीज है ये आपका एक करैक्टर रिटर्न करता है ठीक है दिस रिटर्न्स अ कैरेक्टर इसको आप ऐसे भी लिख सकते हो केर और लेट्स से मम इक्वल्स टू दिस यहां से एक कैरेक्टर रिटर्न होने वाला है और वो करैक्टर वैल्यू आपकी p होगी आप यहां पर प्रिंट दोबारा करागे ये दोबारा से आपका का पी प्रिंट करने वाला है इस बार हमने क्या किया कि इसके अंदर से जो भी कैरेक्टर रिटर्न हो रहा है उसको आपने इस वेरिएबल में स्टोर कर लिया है टैंप के अंदर अब ये टैम आप कहीं भी यूज कर सकते हो अगला है हमारा वैल्यू ऑफ और ये बेसिकली आपके अ इंट वैल्यू को डबल वैल्यू को स्ट्रिंग में कन्वर्ट करने के काम आता है अगर आप चाहते हो इंट डबल फ्लोट ये सब जो वैल्यूज है इनको आप स्ट्रिंग में कन्वर्ट करना चाहते हो तो उसके लिए आप वैल्यू ऑफ यूज करते हो इसके लिए मैं काम करता हूं ये सब करता हूं कमेंट ठीक है और अब आप देखोगे यहां पे कि आपके पास सपोज करो एक इंट था इंट एज इक्वल टू लेट्स से 1 2 3 आप चाहते हो इसको स्ट्रिंग में कन्वर्ट करना किसी भी रीजन की वजह से तो आप कर सकते हो बाय बाय डूइंग दिस स्ट्रिंग अगर आप सिंपल लिखोगे ना स्ट्रिंग एज इक्व ट एज तो दिस इज नॉट अलाउड दिस इज नॉट अलाउड बिकॉज़ दिस इज एन इंटी जर एंड यू आर स्टोरिंग एन इंटी जर वैल्यू इन ए स्ट्रिंग दिस इज नॉट अलाउड लेकिन आप क्या कर सकते हो आप ये कर सकते हो स्ट्रिंग डॉट वैल्यू ऑफ और एज तो अब क्या होगा ए की जो भी वैल्यू होगी जो कि स्ट्रिंग में कन्वर्ट होने के बाद वो वैल्यू आपकी यहां पर स्टोर हो जाएगी और अब ये एक स्ट्रिंग की तरह ट्रीट होगा ना कि ए की तरह मैं काम करता दोन उन को प्रिंट करके दिखाता हूं आपको तो मैंने एज को प्रिंट किया और साथ में मैंने यहां पर स्ट्रिंग एज को प्रिंट किया तो यहां पर आप देखते हैं 123 और 123 दोनों दोनों सेम प्रिंट हो रहे हैं लेकिन ऊपर वाला एक इंटी जर है इसका मतलब इसके साथ आप ये सब कर सकते हो मल्टीप्लाई वगैरह मल्टीप्लाई वगैरह टू कर सकते हो लेकिन यहां पे आप मल्टीप्लाई बा टू नहीं कर सकते बिकॉज स्ट्रिंग के अंदर मल्टीप्लाई वाले कैरेक्टर को ओवरलोड नहीं किया हुआ है तो आप यहां पर ऐसे मल्टीप्लाई नहीं कर सकते यहां पे आप प्लस कर सकते हो टू राइट प्लसटू आप कर सकते हो प्लसटू आप यहां पर भी कर सकते हो जरा मुझे बताओ क्या वैल्यू प्रिंट होने वाली है इस केस में दोनों के अंदर एज प्लसटू किया मैंने एज आपका एक इंटी जर वैल्यू है तो इसके अंदर जब प्लसटू करोगे तो 123 + 2 वच इज 125 यहां पे आपका 125 प्रिंट होगा लेकिन नीचे क्या है नीचे स्ट्रिंग एज है ये एक स्ट्रिंग की तरह स्ट्रीट हो रहा है ठीक है 123 इज अ स्ट्रिंग और उसके अंदर टू वाले कैरेक्टर को कंकट किया जा रहा है ठीक है इसके आगे अपेंड किया जा रहा है तो ये ऐसे प्रिंट होगा 122 3 2 ऐसे रन करके दिखाता हूं आपको तो यहां पे तो 125 प्रिंट हुआ यहां पे 1232 प्रिंट हुआ बिकॉज नीचे वाला जो है वो एक स्ट्रिंग है समझ में आ रहा होगा स्ट्रिंग डॉट वैल्यू की हेल्प से आप किसी भी चीज को चाहे वो इंट हो चाहे लॉन्ग हो चाहे फ्लोट हो कुछ भी हो बोलियन हो वो सब के सब आप स्ट्रिंग में कन्वर्ट कर सकते हो अगला है हमारा रिप्लेस रिप्लेस आपका बेसिकली रिप्लेस करने काम में आता है स्ट्रिंग के अंदर किसी भी सीक्वेंस को अगर आपको किसी और सीक्वेंस से रिप्लेस करना है तो यू यूज रिप्लेस यह आप बहुत ज्यादा यूज करते हो राइट अपने कोड के अंदर भी अगर आपको अपने पूरे कोड के अंदर कोई वेरिएबल रिप्लेस करना है या फिर कुछ फाइंड करके रिप्लेस करना है तो उसके लिए आपको पता है कमांड एफ होता है यह सर्च करता है एक कमांड आर होता है यह आपका रिप्लेस कर देता है तो कहीं भी अगर आपका सिस्टम लिखा हुआ है जैसे सपोज कर सिस्टम इतनी सारी जग पर लिखा हुआ है मुझे यहां पर सिस्टम की जगह लगाना है रोबोट और मैं करता हूं रिप्लेस ऑल तो जहां जहां सिस्टम लिखा हुआ था वहां वहां पर रोबोट लग गया राइट तो सेम काम आपका स्ट्रिंग के अंदर भी हो सकता है और इसको मैं वापस कर देता हूं ठीक रोबोट से हटा के सेम काम आपका स्ट्रिंग के अंदर हो सकता है बाय यूजिंग द रिप्लेस मेथड तो सपोज करो आपके पास ये स्ट्रिंग थी स्ट्रिंग सेंटेंस इक्व टू आई लव जावा जावा इज ए गुड लैंग्वेज आप चाहते हो जहां जहां जावा लिखा हुआ है वहां वहां पर कुछ और आ जाए ठीक है वहां वहां पर कुछ और आ जाए तो उसके लिए आपको क्या करना होगा आपको इसे रिप्लेस करना होगा और रिप्लेस करने के बाद ये आपको नई स्ट्रिंग प्रोवाइड करेगा ठीक है आपकी पुरानी स्ट्रिंग को कुछ भी नहीं हो रहा यहां पे एक चीज और आपको बताता हूं ये जितनी भी चीजें है ना टू अपर केस टू लोअर केस ये सब चीजें एक नई स्ट्रिंग बना रही है बिकॉज जावा के अंदर स्ट्रिंग तो इम्यूनेट बना दी उसके साथ आप कुछ भी कर रहे हो आपकी एक नई स्ट्रिंग ही बनेगी पुरानी स्ट्रिंग वैसे की वैसे पड़ी रहेगी तो जब आप करते हो टू लोअर केस तो इसका मतलब यह नहीं कि आपके पुरानी वाली स्ट्रिंग के अंदर कुछ चेंज हो रहा है नहीं पुरानी वाली स्ट्रिंग के अंदर अभी भी वही सब पड़ा हुआ है आपकी एक नई स्ट्रिंग बन जा रही है और उसके अंदर इस बार सार सारे जो लेटर्स है वो अपर केस है समझ में आ रहा है तो अगेन अगर आप करते हो यहां पर कि न्यू सेंटेंस करते हैं य पर ठीक है न्यू सेंटेंस इक्वल टू सेंटेंस डॉट रिप्लेस और क्या रिप्लेस करना है तो ओल्ड कैरेक्टर क्या है कक्टर सीक्वेंस च इ जावा मुझे जावा को रिप्लेस करना है किससे करना है सपोज कर मुझे रिप्लेस करना है सीपीबी से इस तरीके से और अब मैं आपको यहां पर प्रिंट करके दिखाता हूं एस आउट पिछला सेंटेंस और न्यू सेंटेंस हो जाएगा हमारा न्यू सेंटेंस दोनों के दोनों प्रिंट करके देखते हैं तो देखो यहां पर आई लव जावा अभी भी पुराना वाला ही पड़ा हुआ है इसके अंदर ठीक है भले यहां पर रिप्लेस हो गया बिकॉज इस है तो क्या किया एक नई स्ट्रिंग बनाई और उसके अंदर सारे मॉडिफिकेशन किए हैं तो नॉर्मल वाले के अंदर आपका अभी भी आई लव जावा है नीचे वाले के अंदर आई लव सीपीपी है तो रिप्लेस मेथड आपको समझ में आ रहा है हो क्या कर रहा है ये आपका बेसिकली ओल्ड कैरेक्टर सीक्वेंस व्हिच इज टारगेट वो ढूंढता है और उसके साथ रिप्लेसमेंट क्या है रिप्लेसमेंट है सीपीपी तो रिप्लेस कर दिया इससे आपने ठीक है जितनी भी जगहों पे जावा लिखा हुआ है इसके अंदर वहां वहां पर रिप्लेस हो जाएगा अगला है कंटेंस ये आपको बताता है बेसिकली कि स्ट्रिंग के अंदर कोई वर्ड या कोई कैरेक्टर सीक्वेंस प्रेजेंट है कि नहीं है ठीक है तो आपकी स्ट्रिंग के अंदर आपको अगर जानना है कि क्या मेरे नॉर्मल सेंटेंस के अंदर क्या इसके अंदर सीपीपी प्रेजेंट है क्या मेरी इस वाले सेंटेंस के अंदर सीपीपी प्रेजेंट है सेंटेंस की स्पेलिंग गलत है शायद यहां पर सेंटेंस के नीचे सुगली लाइन आ रही है बिकॉज यहां पर ये सही नहीं है ठीक है रिनेम टू और सेंटेंस इससे रिनेम कर देते हैं इसको ये हर जगह सेंटेंस हो गया अगर आपको समझ में नहीं आ रहा कि कैसे होता है आपको अगर खुद से करना है तो तो उसके लिए एक शॉर्टकट होता है व्हिच इज कॉल्ड शिफ f ए f6 ठीक है ऐसे करके आप कुछ भी कर सकते हो लेट्स से अ टेक्टर्स उसके बाद करो एंटर तो जहां जहां पर भी ये बना था वहां वहां पर ये अपडेट हो जाएगा एक और तरीका है राइट क्लिक करके आप जा सकते हो रिफ्रैक्टर के अंदर और उसके बाद रिनेम बस क्लिक कर सकते हो रिनेम सम हाव मेरा दूसरी स्क्रीन प आ रहा है स्क्रीन पर नहीं दिख रहा लेकिन हां उससे भी यह काम करता है और आप कुछ भी कर सकते हो ठीक है सेंटेंस हिट एंटर और सब कुछ चेंज हो गया ठीक है अ तो यह था आपका अब हम बात कर रहे थे वैसे कंटेंस की राइट तो कंटेंस के अंदर सेंटेंस डॉट कंटें सीपीपी क्या इस वाले सेंटेंस के अंदर सीपीपी है बताओ मुझे इस वाले सेंटेंस के अंदर सीपीपी नहीं है राइट इसके अंदर तो जावा रखा हुआ है तो यहां पर हमें मिलने वाला है फॉल्स फॉल्स मिल रहा है और आपको अगर चेक करना है क्या इसके अंदर जावा प्रेजेंट है कि नहीं है कहीं पे भी तो हां जावा प्रेजेंट है क्या इसके अंदर गुड प्रेजेंट है कहीं भी हां इसके अंदर गुड भी प्रेजेंट है ये रहा गुड राइट लेकिन क्या इसके अंदर कैपिटल जी से गुड प्रेजेंट है तो नहीं कैपिटल जी से कुट प्रेजेंट नहीं है इसके अंदर तो इस तरीके से ये काम करता है अगला है सब स्ट्रिंग अगर आपको इस स्ट्रिंग के अंदर से बीच का कोई पार्ट निकालना है सपोज करो लव जावा आपको बाहर निकालना है तो लव जावा इज द सब स्ट्रिंग राइट यह वाला पार्ट सब स्ट्रिंग है यह वाला पार्ट सब स्ट्रिंग है कोई भी पार्ट स्ट्रिंग के अंदर से बीच में से कोई भी कंटीन्यूअस पार्ट आप निकाल लेते हो तो दैट इज कॉल्ड सब स्ट्रिंग सब स्ट्रिंग के ऊपर सब सीक्वेंसेस के ऊपर हम बाद में क्वेश्चन कर रहे होंगे काफी सारे रिकज और बैक ट्रैकिंग की जब हम बात कर रहे होंगे वहां पे हम बहुत सारे सबस्ट्रिंग सब सीक्वेंस वाले क्वेश्चन कर रहे होंगे बट या आपको दिख रहा होगा अगर आपको बीच में से कुछ निकालना है तो उसके लिए ऑलरेडी एक मेथड दे रखा है जावा ने व्हिच इज कॉल्ड डॉट सबस्ट्रिंग तो करना क्या होता उसके लिए अ मैं एक काम करता हूं इन सबको तो करता हूं कमेंट और इसको भी कर देता हूं कमेंट आपके पास एक सेंटेंस है उसको उसमें से आपको निकालना है एक सब स्ट्रिंग तो स्ट्रिंग सब स्ट्रिंग सब स्ट्रिंग के अंदर ए दोनों जगह पे छोटे होंगे इक्व टू सेंटेंस डॉट सबस्ट्रिंग और आप बताओगे कहां से स्टार्ट करके कहां पे खत्म करना है ठीक है तो मैं बताऊंगा कि स्टार्ट करना लेट्स से टू से और खत्म करना है लेट्स से फ पर तो इसके अंदर टू जो होता है टू वाली इंडेक्स तो आपकी इंक्लूसिव होती है फ वाली इंडेक्स आपकी एक्सक्लूसिव होती है ठीक है तो पहली वाली जो इंडेक्स है इसके अंदर दो पैरामीटर पास हो र है ठीक है पहला वाला इंडेक्स इ इंक्लूसिव दूसरा वाला इज एक्सक्लूसिव य आपको समझ में आएगा अभी बताता हूं कैसे रन किया मैंने अच्छा मैंने इसे प्रिंट नहीं कराया तो एस आउट सबस्ट्रिंग से रन करते तो यहां पर एल ओवी प्रिंट हो रहा है एल ओवी कैसे प्रिंट हो रहा है भैया समझ नहीं आया तो मैं आपको अभी समझा देता हूं भाई देखो हुआ क्या यहां पर आपके इंडेक्सिंग अगर आप करोगे तो ये हो जाएगा आपका जीरो स्पेस हो जाएगा आपका वन ये टू ये थ्र ये फोर ये फ ठीक है तो ये स्टार्ट हुआ आपका टू से राइट टू से स्टार्ट हुआ तो टू प क्या है टू प ये है ए और मैंने बताया था ये फाइव पर खत्म होगा लेकिन फाइ पर तो आप बोलोगे भैया ई है तो एओ ही प्रिंट होना चाहिए था ये तो सिर्फ ए प्रिंट हुआ तो मैंने आपको यह भी बताया था कि यह वाला तो इंक्लूसिव है ठीक है इंक्लूसिव और यह आपका एक्सक्लूसिव है तो पहला वाला जो इंडेक्स है ट इ इंक्लूसिव इसलिए एल आपका इंक्लूसिव है इसलिए आपका एल प्रिंट हो रहा है और ई आपका एक्सक्लूसिव है इसलिए इससे जस्ट पहले वाला आपका प्रिंट हो रहा है तो एल ओवी इसलिए आपको मिल रहा है ठीक है तो इस तरीके से काम करता है ये तो आप या तो ऐसे करके सब निकाल सकते हो कि मुझे स्टार्ट वाला बता दो और एंड वाला बता दो या फिर एक और तरीके से आप बता सकते हो च इ जस्ट आप इसके अंदर स्टार्ट वाला बता दो एंड वाला मत बताओ ठीक है तो बिगिन इंडेक्स आपने इसको बता दिया बस उसके बाद आपने कुछ नहीं बताया इसे तो ये क्या करेगा बिगिन इंडेक्स से लेके पूरा एंड तक जो भी होगा ना उसको अपना सब स्ट्रिंग मान लेगा ये रन करते हैं तो देखो इंडेक्स नंबर टू से स्टार्ट किया और पूरा का पूरा एंड तक चला गया बाय डिफॉल्ट ये एंड में पूरी स्ट्रिंग मान लेता है ठीक है तो अगर आप इसको नहीं बताओगे खत्म कहां पे करना है जैसे मैंने बताया एट प खत्म कर ना है तो अब ये एट प खत्म कर देगा यहां पे और बीच में से बस इतना सा निकाल के देगा मुझे लेकिन अगर आपने इसे नहीं बताया कहां खत्म कर र है ऐसे सिर्फ एक ही चीज पास की इसके अंदर तो इसके अंदर आप देख रहे हो मल्टीपल पूरा का पूरा एंड तक चला गया ये तो सेम मेथड के अंदर आपकी बेसिकली से हम कहते हैं मेथड ओवरलोडिंग यहां पर आपका मेथड ओवरलोड हो रखा है मेथड ओवरलोडिंग मेथड ओवरराइडिंग यह सब हम समझ रहे होंगे वूप्स की बात कर रहे होंगे लेकिन यहां पर आपको ये मेथड समझ रहे है कि इसके अंदर आप दो तरीके से पैरामीटर पास कर सकते हो अगर आप दो वैल्यूज दो एंड की वैल्यूज पास करोगे तोब स्टार्ट से एंड माना जाएगा अगर सिर्फ एक पास करोगे तो वो स्टार्ट माना जाएगा एंड फिर उस केस में बाय डिफॉल्ट पूरी स्ट्रिंग हो जाएगी तो ये था आपका अगर बीच में से स्ट्रिंग बाहर निकालना है अगला है स्प्लिट अगर आपको स्ट्रिंग को स्प्लिट करना है किसी कैरेक्टर पर या फिर किसी भी क सीक्वेंस पर तो आप कर सकते हो क्या बोल रहे हो भैया समझ नहीं आया तो बताता हूं सपोज करो ये आपकी स्ट्रिंग है राइट इसके अंदर से आपको सारे सारे वर्ड्स बाहर निकालने हैं तो वर्ड्स बाहर निकालने के लिए आपको पता है स्प्लिट करेंगे हम स्पेसेस की बेसिस पर कि जहां जहां पर स्पेस लगे हुए हैं वहां वहां से स्प्लिट हो जाए ये तो आप करोगे यह य सेंटेंस डॉट स्प्लिट और उसके बाद बताओगे किसके बेसिस पर स्प्लिट करना है मुझे स्पेस की बेसिस स्लिट करना है तो मैंने य बीच में स्पेस लगा दिया ठीक है और अब ये क्या करेगा ये मुझे एक स्ट्रिंग का एर रिटर्न करेगा ठीक है ये फंक्शन मुझे एक स्ट्रिंग का एरे रिटर्न करता है तो उसको मैं डाल लेता हूं यहां पर स्ट्रिंग वर्ड्स इक्वल टू दिस ठीक है यह वर्ड्स का एरे है तो वर्ड्स का एरे तो स्ट्रिंग वर्ड्स का एरे इक्वल टू दिस अब अगर आपको य सारे वर्ड्स प्रिंट करने है तो आप इसमें फॉर लूप लगा सकते हो कि फॉर स्ट्रिंग वर्ड इन वर्ड्स सारे के सारे वर्ड प्रिंट कर दो तोब क्या होगा जरा देखते हैं यहां पर आप देखोगे एकएक करके सारे के सारे वर्ड्स प्रिंट होने वाले हैं आई लव जावा जावा के बाद कॉमा भी लगा हुआ है राइट यह पूरा का पूरा एक वर्ड माना जाएगा बिकॉज आपकी जो स्प्लिटिंग हुई है वह आपकी स्पेस के बेसिस पर हुई है अगर आप चाहते हो नहीं कि कॉमा के बेसिस पर स्प्लिटिंग हो तो आप यहां पर कॉमा लगा दोगे अभी मैंने यहां पर स्पेस लगाया हुआ है राइट अगर मैं आप लगा दू कॉमा तो मेरी कॉमा के बेसिस प स्प्लिटिंग होगी और सिर्फ दो बार स्प्लिटिंग होगी देख रहे हो आई लव जावा और दूसरा ये एक यह वाला पार्ट और दूसरा ये वाला पार्ट अगर मैंने मल्टीपल कॉमा लगा रखे होते यहां पर सपोज करो एक कॉमा मैंने यहां लगा दिया एक कॉमा मैंने यहां लगा दिया इस तरीके से तो मैंने तीन कॉमा लगाए तो टोटल चार बनने वाले इसके अंदर तो यहां पर देखो एक दोती चर ये ऊपर जो भी प्रिंट हो रहा है इसको इग्नोर करो ये आपका बेसिकली पूरी की पूरी कमांड बता रहा है कि जब आपने रन हिट किया तो कौन सी कमांड रन हुई है तो एक्चुअल में ये कमांड रन हुई है ठीक है ऊपर जो भी लिखा हुआ है ना यू कैन इग्नोर ऑल दिस आप यहां पर कुछ भी डाल सकते हो कोई भी कक्टर सीक्वेंस या फिर इवन रेक्स डाल सकते हो रेक्स इ बेसिकली रेगुलर एक्सप्रेशन बट वो थोड़ा सा स्कोप के बाहर हो जाएगा फिलहाल तो हम उसे बाद में कभी समझ लेंगे लेकिन आप चाहो तो यहां पर ऐसे लिख सकते हो स्मल ए तो जहां जहां स्मल ए लिखा होगा वहां वहां पर स्प्लिटिंग हो जाएगी तो यहां पर देखो कुछ अजीब सा प्रिंट होने वाला है आई लव जे उसके बाद ए है ए गायब उसके बाद कॉमा और साथ में जे तो ये आ गया उसके बाद ए आया वो बाहर उसके बाद सिर्फ व प्रिंट हु आया उसके बाद और यहां तक प्रिंट हुआ है फिर a आ गया तो दोबारा से स्प्लिटिंग हो गई ठीक है फिर ये प्रिंट हुआ है तो इस तरीके से आपकी स्प्लिटिंग हो रही है अ अगला है टू कैर एरे अगर आपको अपनी स्ट्रिंग को कन्वर्ट करना है कैरेक्टर एरे के अंदर मैंने आपको बताया था शुरुआत के अंदर ही यहां पर कि जो आपकी जावा के अंदर स्ट्रिंग है ना एंड एरे ऑफ कैरेक्टर वर्क्स सेम एज जावा स्ट्रिंग इसका मतलब कैरेक्टर का एरे बना लो या फिर नॉर्मल जावा के अंदर स्ट्रिंग बना लो बात एक ही है तो आपने देखा कि किस तरीके से आप नॉर्मल स्ट्रिंग से काम करोगे और मैंने बताया कि हां भाई स्ट्रिंग ही यूज़ करनी चाहिए कैरेक्टर एरे तो क्यों यूज़ करोगे कक्टर एरे के अंदर इतने सारे मेथड्स तो मिलते नहीं है स्ट्रिंग के अंदर आपको सारे सारे मेथड्स मिलते हैं स्ट्रिंग बहुत ऑप्टिमाइज्ड है लेकिन कभी जरूरत पड़ जाती है अगर आपको कि मुझे तो स्ट्रिंग को करैक्टर के एरे में कन्वर्ट करना है तो एक एक करके कैर ट वगैरह यूज करने की जरूरत नहीं है आपको आपको ऑलरेडी टू कैर एरे करके एक मेथड दे रखा है ठीक है तो उसके लिए क्या करना होता है आपको मैं सबको करता हूं कमेंट अगर आपको यह अपनी जो स्ट्रिंग है एक काम करते हैं सेंटेंस वाले मेथड को हम यहां पर कमेंट करते ह नीचे आते हैं एकदम और और यहां पे बनाता हूं मैं एक स्ट्रिंग अ लेट्स से कलर इक्वल्स टू ब्राउन और आप चाहते हो इस ब्राउंड के अंदर जितने भी कैरेक्टर्स हैं ये एक एक कैरेक्टर आपका पूरा का पूरा एक कैरेक्टर का एरे बन जाए तो उसके लिए करना क्या है कलर डॉट अ टू कैर एरे यहां से हमारा कैरेक्टर का एरे बन गया है अब वो कैरेक्टर का एरे आपको स्टोर भी करना होगा कहीं पर तो मैं यहां पे कर लेता हूं कैरेक्टर एरे लेट्स से लेटर्स इस तरीके से तो जो भी कैरेक्टर एरे मिला वो मैंने इसर एरे वाले वेरिएबल में स्टोर कर लिया है और अब अगर मैं इसे य प्रिंट करूंगा तो फॉर एवरी कैरेक्टर लेटर इन लेटर्स अगर मुझे प्रिंट करना है सारे के सारे लेटर तो मैं प्रिंट करके आपको दिखाता हूं यहां पर रन तो आप देखोगे ब्राउन आपका एक एक कैरेक्टर बाय कैरेक्टर प्रिंट हुआ है और यहां पर अगर मैं स्पेस लगाता हूं ब्राउन इज माय फेवरेट कलर तो आपको दिख रहा होगा सब कुछ आपका एक एक कैरेक्टर में आने वाला है ठीक है एक्सक्लेमेशन मार्क लगा दिया मैंने यहां पर तो देखो कैसे प्रिंट होगा ये ब्राउन फिर जो स्पेस है वो भी एक करैक्टर है ठीक है इज माय फेवरेट कलर और उसका बा जो एक्सक्लेमेशन मार्क है वो भी एक कैरेक्टर है तो इस तरीके से कभी आप आपको अगर कन्वर्ट करना है अपनी स्ट्रिंग को बैक टू द कैरेक्टर एरे तो उसके लिए आपको ऑलरेडी एक मेथड मिला हुआ है कलर डॉटू कैरट इसके बाद अगला मेथड देखते हैं वच इज इ एमटी तो इज एमटी आप बहुत ज्यादा यूज करते हो इज एमटी बताता है कि स्ट्रिंग आपकी खाली है कि नहीं है ठीक है तो स्ट्रिंग के अंदर आपकी खाली स्ट्रिंग है बेसिकली खाली स्ट्रिंग क्या होती है खाली स्ट्रिंग य होती है स्ट्रिंग लेट्स से एनिमल इक्वल टू दिस एमटी तो ये आपकी एमटी स्ट्रिंग है राइट तो उस केस में यहां पर मिलेगा ट्रू तो इफ एनिमल डॉट इज एमटी इज ब्लैंक कुछ और होता है इज एमटी कुछ और होता है इज एमटी एस आउट एमटी इसको रन करते हैं यहां पर देख र एमटी प्रिंट हो रहा है बिकॉज दिस इज एमटी यहां पर अगर मैं कुछ भी लिखता हूं लेट्स से मैंने ए लिख दिया बस यहां पर तो उस केस में एमटी नहीं है तो यहां पर मिलेगा कुछ भी नहीं मिला क्योंकि ये एमटी नहीं है राइट उस केस में यहां से फाल्स मिल गया तो फॉल्स मिल गया तो इसने यहां पर कुछ भी प्रिंट नहीं किया आपने देखा था एक ब्लैंक भी होता है इसके अंदर मेथड जो मैंने वहां पर लिखा हुआ नहीं लेकिन हां मैंने सारे मेथड नहीं लिखे हुए या यहां पर ठीक है इस ब्लैक इस ब्लैक मेथड आप अगर पढ़ना चाहो तो यहां पर लिखा हुआ है रिटर्न्स ट्रू इफ द स्ट्रिंग कंटेंस एमटी और कंटेंस ओनली वाइड स्पेस तो अगर इसके अंदर स्पेसेस रखे हुए हैं ना बहुत सारे तब भी ये आपको ट्रू रिटर्न करेगा बेसिकली अगर यहां पे आपने यह किया और आपने किया इज एमटी तो आपको पता है यहां पे आपको फॉल्स मिलने वाला है राइट दिस इज नॉट एमटी दिस इज नॉट एमटी एल्स इफ मैं लगाता हूं यहां पे एनिमल डॉट इज ब्लैंक तो यहां पे आपको मिलेगा हां भाई ब्लैंक है तो यहां पर रन करते हैं तो देखो यह एमटी तो नहीं है लेकिन यह ब्लैंक है क्यों क्योंकि इसके अंदर कुछ भी नहीं है बस वाइट स्पेसेस पड़े हुए हैं तो कभी आपको अगर वाइट स्पेसेस वगैरह चेक कर रहे तो उस केस में आप ऐसे लगा सकते हो एमटी आपका एमटी चेक करता है ब्लैंक आपका ब्लैंक चेक करता है ठीक है तो ये आपके मेथड्स थे जो इंपॉर्टेंट वाले थे वो मैंने आपको बता दिया इसके अलावा बहुत ज्यादा बचते नहीं है जो बचे हैं वो आपके यूज नहीं होते बहुत ज्यादा ठीक है बहुत कम मतलब 99.99% ऑफ़ द टाइम आप यही मेथड यूज़ कर रहे होंगे इसके अलावा कुछ यूज़ नहीं कर रहे होंगे इसके अंदर जितने भी क्वेश्चंस हैं वह आपको यके सॉल्व करने हैं कुछ भी डाउट आता है तो पूछना है हे व्ट्स अप गाइ आज हम बात करने वाले हैं पस की आज से हमारा ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग सिस्टम यह स्टार्ट होने वाला है तो बेसिकली जावा एक ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग लैंग्वेज है आपने यह वाली बात बहुत बार सुनी होगी लेकिन इसका मतलब क्या है इसका मतलब बेसिकली यह है कि रियल वर्ल्ड में आपके आपने देखा होगा ऑब्जेक्ट्स होते हैं राइट हर चीज़ एक ऑब्जेक्ट होती है और रियल वर्ल्ड की चीजों को जब आपको डिपिक्ट करना होता है तो उसके लिए आप आपको एक ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग लैंग्वेज की जरूरत होती है एंड जावा इज वन ऑफ देम इसके अलावा c+ प पाइथन ये भी आपकी ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग लैंग्वेज होती है इसका मतलब बेसिकली है कि आप इसके अंदर क्लासेस एंड ऑब्जेक्ट्स बना सकते हो ठीक है ऑब्जेक्ट से मेरा मतलब क्या है जैसे कि आप देखोगे रियल वर्ल्ड में हर एक चीज एक ऑब्जेक्ट है फॉर एग्जांपल दिस पेन ये एक ऑब्जेक्ट है अगर मुझे इसे amazononline.in कुछ प्रॉपर्टीज होंगी एंड इसका कुछ बिहेवियर होगा तो प्रॉपर्टीज तो ये कि इसका साइज क्या है इसकी लेंथ क्या है ये इसकी विड्थ कितनी चौड़ी है ये इसकी प्रॉपर्टीज हैं एंड इसके अलावा इसका बिहेवियर क्या है कि इससे आप लोग लिख सकते हो इससे आप लोग इरेज कर सकते हो ऑल दीज आर इट्स बिहेवियर इस तरीके से आप इस रियल वर्ल्ड के अंदर हर एक चीज को एक ऑब्जेक्ट बना सकते हो पर्सन एक ऑब्जेक्ट है कि पर्सन की हाइट और पर्सन के अंदर प्रॉपर्टीज क्या-क्या हैं किसकी हाइट क्या है इसका अ इसके कितने हाथ हैं पैर हैं क्या वेट है ये सब इसकी प्रॉपर्टीज हो गई इसका बिहेवियर क्या है कि ये पर्सन वॉक कर सकता है ये पर्सन ईट कर सकता है ये सब चीजें इसकी प्रॉपर्टीज हो गई इस तरीके से आप किसी भी चीज को ऑब्जेक्ट बना सकते हो और अगर आप लोगों को प्रोग्रामिंग के अंदर क्योंकि हमें रियल वर्ल्ड प्रॉब्लम सॉल्व करनी है तो अगर आप लोगों को रियल वर्ल्ड प्रॉब्लम सॉल्व करनी है तो उसके लिए आप लोगों को ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग लैंग्वेज की जरूरत पड़ेगी एंड जावा इज वन ऑफ देम बेसिकली इसके अंदर आप क्लासेस एंड ऑब्जेक्ट बना सकते हो अब जरा आज देखते हैं क्या-क्या पढ़ने वाले हैं हम आज हम पढ़ेंगे क्लासेस एंड ऑब्जेक्ट्स के बारे में ठीक है फिर कंस्ट्रक्टर देखेंगे एंड देन मेथड एंड कंस्ट्रक्टर ओवरलोडिंग एंड देन दिस कीवर्ड इन जावा यह भी देख रहे होंगे इसके साथ धीरे-धीरे करके हम आगे बढ़ रहे होंगे ठीक है तो सबसे पहला तो हो जाता है क्लासेस एंड ऑब्जेक्ट्स तो सबसे पहला बिल्डिंग ब्लॉक जो है ना वह है हमारा क्लासेस एंड ऑब्जेक्ट्स बेसिकली जावा के अंदर आप क्लासेस बना सकते हो और उन क्लासेस से मल्टीपल ऑब्जेक्ट्स बना सकते हो जिन लोगों ने पहले सुना होगा लेकिन कंफ्यूज हो गए कि क्लास क्या होता है ऑब्जेक्ट क्या होता है तो आज बहुत ही सरल शब्दों में बताने वाला हूं मैं आप लोगों को ठीक है बड़े ही क्लीयरली समझ में आना है कि क्या होता है क्लास तो यहां पर वैसे लिखा हुआ है जरा वो पढ़ लेते हैं क्लास इज अ ब्लूप्रिंट व्हिच डिफाइंस सम प्रॉपर्टीज एंड बिहेवियर्स एन ऑब्जेक्ट इज एन इंस्टेंस ऑफ़ अ क्लास वच हैज दोस प्रॉपर्टीज एंड बिहेवियर्स अटैच तो बेसिकली यहां पर लिखा हुआ है कि क्लास एक ब्लूप्रिंट है जो कि बताती है कि क्या-क्या प्रॉपर्टीज और बिहेवियर हो सकते हैं आपके एंड देन ऑब्जेक्ट भी वही चीज होती है ऑब्जेक्ट के अंदर वो चीज अटैच होती है तो फिर डिफरेंस क्या है इनके अंदर समझ नहीं आया कुछ तो बेसिकली क्लास आपका बताने का तरीका है कि देखो क्लास इ बेसिकली समझ लो कि एक फैक्ट्री है सपोज करो एक आइसक्रीम नाने की फैक्ट्री है तो वो जो फैक्ट्री है वो सिर्फ आइसक्रीम बनाती है ठीक है और उसके अंदर आपने प्रॉपर्टी बता दी कि किस किस टाइप कैसी हमारी आइसक्रीम होनी चाहिए और उसके बाद उसमें से जो आइसक्रीम बाहर निकल रही है वो आपके आप समझ सकते हो ऑब्जेक्ट्स हैं ठीक है तो एक तरीके से बनाने वाली जो चीज है वह आपकी क्लास होती है और उससे जो बन के निकलती है चीजें वो आपके ऑब्जेक्ट होते हैं अगर य भी चीज क्लियर नहीं हुई तो मैं जरा आपको बताता हूं इस बार लेकिन एग्जांपल से सम जाऊंगा तब ज्यादा क्लियर होगी तो उसके लिए हम आएंगे अपने कोड के अंदर और मैंने यहां पे क्या किया उप्स वन के अंदर ये मेन क्लास बना लि मैंने और इसके अंदर हमें पता है पब्लिक स्टैटिक वॉइड मेन ये तो होता ही है पीएसवीएम यह सब तो ठीक है लेकिन मैं क्या करता हूं एक और क्लास बनाता हूं तो तो एक फाइल के अंदर जैसे इस फाइल का नाम है मेन क्लास जावा इस एक फाइल के अंदर आप जितनी मर्जी क्लासेस बना सकते हो क्लास बनाने के लिए आपको करना क्या होता है आपको लिखना होता है क्लास उसके बाद उस क्लास का नाम तो फॉर एग्जांपल यहां पर मैं सपोज करो क्लास का नाम लिख देता हूं डॉग ठीक है क्लास डॉग तो मैं डॉग क्लास बना रहा हूं तो यह मेरी क्लास बन गई इस तरीके से अब अगर आपको कभी फ्यूचर में एक और क्लास बनानी है तो आप ऐसे बना सकते हो क्लास कैट तो इस तरीके से आप जितनी मर्जी क्लासेस बना सकते हो एक फाइल के अंदर जितनी मर्जी क्लासेस बना सकते हो लेकिन पब्लिक क्लास सिर्फ एक होगी ठीक है मतलब हर एक क्लास के आगे मैं पब्लिक लगा सकता पब्लिक क्लास सिर्फ एक ही हो सकती है वरना यहां पर आपको दिख रहा है एरर मिल रहा है कि पब्लिक क्लास तो सिर्फ एक ही हो सकती है और उसका नाम होगा यह जो इस फाइल का नाम है मेन क्सड जावा तो मेन क्लास जावा फाइल के अंदर मेन क्लास वाली क्लास ही पब्लिक हो सकती है मतलब अगर कोई भी क्लास का नाम होगा वही क्लास पब्लिक हो सकती है बाकी सारी की सारी क्लास नॉन पब्लिक रह सकती है यह तो समझ में आ गया कि मल्टीपल क्लास बना सकते हैं अब इस क्लास के अंदर जैसा मैंने बताया था कि कुछ बिहेवियर हो सकता है कु प्रॉपर्टी हो सकती है तो डॉग को आप कुछ ब प्रॉपर्टीज दे सकते हो प्रॉपर्टीज मतलब कि अ डॉग का नाम क्या है डॉग की एज कितनी है डॉग की ब्रीड क्या है डॉग का कलर क्या है ये सब इसकी प्रॉपर्टीज होंगी जिससे आप बता सकते हो कि अच्छा ये वाला डॉग ये है ये वाला डॉग ये है राइट हर दो डॉग सेम तो होते नहीं है किसी की एज कम है किसी की ज्यादा है किसी की हाइट वेट कम है राइट ये इसकी प्रॉपर्टीज है तो ऐसे ही हम यहां पे बना लेते हैं तो सपोज करो सबसे पहले मैंने बनाया स्ट्रिंग नेम तो इस तरीके से आप इसकी प्रॉपर्टी डिफाइन कर सकते हो कि इस डॉग के पास क्या-क्या प्रॉपर्टीज अलाउड है ठीक है तो इस डॉग को हम नेम वाली प्रॉपर्टी अलाव करेंगे इसके अलावा इस डॉग को सपोज करो मैंने एज वाली प्रॉपर्टी अलाव कर दी ये जो डॉग बना रहे हैं हम इसके अंदर आप नेम असाइन कर सकते हो और एज असाइन कर सकते हो अब यहां पर आप देख रहे नो यूसेज लिख के आ रहा है अपने यहां पे राइट यह बेसिकली इंटेलिजेंस खुद लिख रहा है ये हम नहीं लिख रहे ये इंटेलिजेंस लिख रहा है कि भाई ये आपने बना के दिया इसका कोई यू यूज ही नहीं किया आपने इसका तो इसको फिलहाल के लिए इग्नोर कर दो ठीक है यह अपने आप प लिख के आ जाता है कई कई जगहो प आप देखोगे लिख के भी नहीं आ रहा होता यहां पर लिख के आ गया ले खैर तोय ये तो इसकी प्रॉपर्टी है इसी इसके जैसे आप मल्टीपल प्रॉपर्टी और भी बना सकते हो फॉर एग्जांपल आपने एक और बना दिया लेट्स से स्ट्रिंग कलर किसका कलर क्या रह सकता है राइट तो ऑल दज आर इट्स प्रॉपर्टीज तो ये तो हो गई प्रॉपर्टीज इसके अलावा भैया बिहेवियर क्या होते हैं तो मैं बताऊंगा बिहेवियर बेसिकली कि क्या चीजें ये कर सकता है क्या चीजें ये परफॉर्म कर सकता है ठीक है तो डॉग वॉक कर सकता है डॉग बाक कर सकता है डॉग ईट कर सकता है राइट ऑल दीज आर इट्स बिहेवियर बिहेवियर मतलब कि बंदा क्या-क्या चीजें कर सकता है राइट और प्रॉपर्टी मतलब यह बंदा दिखता कैसा है बेसिकली बाहर से और प्रॉपर्टी मतलब कि इससे आप क्या करा सकते हो रियल वर्ल्ड में ये तो ये दो चीजें होती है किसी भी क्लास के अंदर और फिर अभी ऑब्जेक्ट बताऊंगा इसके बाद ठीक है तो क्लास के अंदर हमने प्रॉपर्टीज तो बना दी बहुत सारी इसके अलावा इसके बिहेवियर बना देते हैं तो सपोज करो मैं बनाता हूं वॉक तो बिहेवियर के लिए बेसिकली आप फंक्शन बनाते हो ठीक है तो वॉइड वॉक और यहां पर आप बोल सकते हो कि डॉग इज वॉकिंग इस तरीके से ठीक है इसके अलावा आपने बना दिया एक वॉइड बार्क एंड देन यहां पे लिख दिया सपोज करो डॉग इज बार्क तो एक चीज हमें दिख गई होगी कि जब मैंने बात की प्रॉपर्टीज की तो मैंने बेसिकली वेरिएबल डिफाइन किए हैं और जब मैंने बात की बिहेवियर की तो मैंने बेसिकली फंक्शंस डिफाइन किए हैं और यही होता है एक क्लास के अंदर कुछ वेरिएबल और कुछ फंक्शंस होते हैं ठीक है जो कि क्लोजी ग्रुप्ड होते हैं जो कि उस क्लास के अंदर सेंस बनाते हैं बस यही होता है क्लास का मतलब क्लास के अंदर और कुछ नहीं होता ब्लूप्रिंट का मतलब ये होता है कि उसके अंदर कुछ प्रॉपर्टीज होंगी मतलब कुछ वेरिएबल होंगे और साथ में कुछ बिहेवियर मतलब कि कुछ फंक्शंस होंगे इनको आप क्लब कर दोगे तो वही आपकी क्लास बन जाती है खत्म बात तो हमारी क्लास तो बन चुकी है ठीक है और अभी हर चीज के ऊपर नो यूसेज लिखा आ रहा है क्योंकि अभी हमने किसी भी चीज को यूज नहीं किया है खैर ये क्लास तो बन गई है लेकिन इस क्लास का यूज़ कैसे करेंगे अब ये जो मैंने डॉग बनाया है इसका मुझे यूज कैसे करना है तो बेसिकली मैंने जो क्लास बनाई है जो मैंने बताया था ये क्लास तो बेसिकली फैक्ट्री होती है तो ये समझ लो कि ये तो एक फैक्ट्री है राइट ये बेसिकली एक्चुअल डॉग नहीं है इससे आप लोग एक्चुअल डॉग बना सकते हो लेकिन ठीक है जैसे कि फैक्ट्री में जाके आप एक्चुअल चॉकलेट बना सकते हो मल्टीपल वैसे इस डॉग क्लास से आप लोग मल्टीपल डॉग के ऑब्जेक्ट बना सकते हो वो कैसे बना सकते हैं तो यहां पे आओ आप मेन फंक्शन के अंदर क्योंकि कोड का एग्जीक्यूशन तो मेन फंक्शन से स्टार्ट होगा राइट मेन पब्लिक क्लास के मेन फंक्शन से ही कोड का एग्जीक्यूशन स्टार्ट होगा इस बात को याद रखना है हमेशा ठीक है तो कहीं और मेन फंक्शन कहीं और बना हुआ है उससे एग्जीक्यूशन स्टार्ट नहीं होगा पब्लिक क्लास की मेन मेथड से ही आपका कोड का एग्जीक्यूशन स्टार्ट होने वाला है तो यहीं पे हम चीजें लिखेंगे तो यहां पर मैं इस डॉग क्लास का एक ऑब्जेक्ट बनाऊंगा ठीक है तो ऑब्जेक्ट बनाने का क्या तरीका होता है आप ऐसे लिखते हो डॉग उसके बाद ऑब्जेक्ट बेसिकली क्या है एक वेरिएबल है ठीक है ऑब्जेक्ट आप समझ सकते हो जैसे कि आपने पढ़ा था प्रिमिटिव डाटा टाइप राइट जैसे कि इंट फ्लोट लॉन्ग ये सब वो आपके प्रिमिटिव डेटा टाइप थे जिसमें आप लिखते थे ऐसे कि इंट ए इक्ट 12 राइट दिस इज डिफाइनिंग अ प्रिमिटिव डाटा टाइप तो आपने बताया क्या डेटा टाइप है उसके बाद वेरिएबल नेम बताया उसके बाद इक्वल टू करके इस तरीके से आपने वैल्यू असाइन कर दी वेल सेम तरीके से ही आप अपने यहां पे यह समझ सकते हो कि डॉग इज़ अ नॉन प्रिमिटिव डाटा टाइप ठीक है बेसिकली क्लास नॉन प्रिमिटिव डेटा टाइप भी होती है तो मेरी एक डॉग क्लास है इसका मैं ऑब्जेक्ट बना रहा हूं तो ऑब्जेक्ट बनाने का मतलब मैंने बना दिया यहां पर डॉग उसके बाद इस डॉग और वेरिएबल का नाम क्या होगा ठीक है डॉग वेरिएबल का नाम डॉग का नाम नहीं डॉग वेरिएबल का नाम तो यह बेसिकली रेफरेंस का नाम है तो रेफरेंस का नाम मैं कुछ भी रख देता हूं लेट्स से d1 इक्व टू न्यू डॉग इस तरीके से ठीक है तो न्यू डॉग का मतलब क्या है कि आपने एक नया डॉग का ऑब्जेक्ट बना दिया है जब न्यू लिखते हैं ना हम इस तरीके से तो न्यू का मतलब होता है कि जावा ने बोल दिया कि एक नया ऑब्जेक्ट बन गया है जब तक न्यू नहीं लगाओगे तब तक एक नया ऑब्जेक्ट नहीं बनेगा हमेशा जावा के अंदर जब तक आप ऐसे न्यू कीवर्ड नहीं लगाओगे वैसे तो कुछ और भी तरीके होते हैं जो अभी हम देखेंगे लेकिन न्यू कीवर्ड लगाने से ही आपका ऑब्जेक्ट बन रहा होता है तो इस तरीके से हमारा एक ऑब्जेक्ट बन रहा है अ ये मेरा d1 बन गया लेकिन इसके साथ में क्या कर सकता हूं कुछ भी नहीं कर सकता फिलहाल तो लेकिन आप इसके अंदर अब ये सारी सारी प्रॉपर्टीज और बिहेवियर कर सकते हो आपको करना क्या है आप यहां पर लिखो d1 डॉट लगाओ उसके बाद ठीक है1 फिर डॉट उसके बाद आप यहां पर देख सकते हो लिखा आ रहा है एज कलर नेम ठीक है ऑल दज आर इट्स प्रॉपर्टीज उसके अलावा नीचे देखो फंक्शन लिख आ रहे हैं बार्क वॉक य आपने खुद बनाए थे अभी अभी राइट यह पांच चीजें तो हमने खुद बनाई है लेकिन इसके अलावा नीचे जो चीजें लिखी आ रही है ना यह सब अभी आप फिलहाल इग्नोर कर सकते हो ये सब चीजें इसको एक्चुअली ऑब्जेक्ट क्लास से मिल रही है जो हम समझेंगे इन्हेरिटेंस के अंदर की ऑब्जेक्ट क्लास से ये सब चीजें कैसे मिलती है ठीक है तो इन सभी को अभी हम फिलहाल के लिए इग्नोर कर सकते हैं लेकिन आप ये पांच चीज देखो ऊपर की d1 डॉट सपोज करो मैं लिखता हूं य पर बार्क तो अब यह जो d1 है इसको बाक करना चाहिए राइट तो यहां पर जरा इसको रन करते हैं देखते हैं यह बाग करता है कि नहीं और अभी अगर आपको समझ में नहीं आया ना कि कैसे चल रहा है डॉग वगैरह कहां से आ गया मतलब ऑब्जेक्ट वगैरह तो अभी मैं आपको और समझाऊ तो डोंट वरी लेकिन आप यहां पर देख सकते हो कि डीवड बक लिखने से डॉग इज बार्किंग लिखा आ रहा है ठीक है मजा आ गया उसके बाद आपने यहां पर एक डॉग बना लिया इस तरीके से d1 नाम से d1 वेरिएबल का अब सपोज करो मैं एक और डॉग बनाता हूं d2 ठीक है डॉग d2 = न्यू डॉग तो जब तक मैं d2 = न्यू डॉग नहीं करूंगा ना तब तक नया डॉग नहीं बनेगा ठीक है d2 = न्यू डॉग ये बेसिकली बताता है जावा को कि सुनो एक नया ऑब्जेक्ट बनाने का टाइम आ गया है ये न्यू कीवर्ड के बाद जो मैंने चीज लिखी है दिस इज कॉल्ड कंस्ट्रक्टर अभी हम कंस्ट्रक्टर भी पढ़ेंगे इसके बाद लेकिन हां इस तरीके से एक नया डॉग कंस्ट्रक्ट हो गया है ठीक है तो ये समझ सकते हैं आप कि डॉग नाम की तो फैक्ट्री थी जो बताती है कि डॉग के अंदर क्या-क्या प्रॉपर्टी हो सकती है क्याक अलाउड है प्रॉपर्टीज होना तो हमने बता दिया कि डॉग के पास नेम एज और कलर हो सकता है उसके अलावा डॉग के अंदर ये दो बिहेवियर हो सकते हैं ठीक है यह हमने अलाव किया है उसके बाद इस डॉक के आप जितने मर्जी कॉपीज बना सकते हो और उनको आप अपनी खुद की अलग-अलग प्रॉपर्टीज दे सकते हो तो अब ये d2 को सपोज करो मैंने करा दिया वॉक और अगर मैं अभी रन करूंगा तो आप देखोगे कि हां डॉग इज वॉकिंग भी लिखा आ रहा है तो डॉग इज वॉकिंग जो है वो नीचे वाले से लिखा आ रहा है d2 से और d1 से डॉग बार्किंग लिखा रहा है लेकिन अभी हमें समझ में नहीं आ रहा कि कौन सा डॉग बार्क कर रहा है और कौन सा डॉग वॉक कर रहा है और अभी हमने डॉग का कुछ नाम वगैरह सेट नहीं किया राइट जबकि हम देख रहे हैं य प्रॉपर्टीज तो है ये सारी तो क्यों ना हम इन सभी चीजों को सेट करें तो सेट करने का तरीका ये होता है बेसिकली आप जाओ यहां पर लिखो d1 डॉट सपोज करो मुझे नेम सेट करना है तो d1 ड नेम इक्व टू लेट्स से टॉमी तो मैंने बोल दिया कि d1 जो वेरिएबल है बेसिकली पहला जो कुत्ता है उसका नेम मैंने रख दिया टॉमी उसके बाद सपोज करो मैंने बनाया और d2 का मैंने नाम रख दिया कुछ और लेट्स से d2 नेम इ लियो ठीक है तो ये d2 का नाम नाम यहां पर लियो रख दिया है और अब मैं क्या कर सकता हूं ये जो मैंने फंक्शन बनाए है ना वॉक और बार्क वाले इनके अंदर मैं डॉग इज वॉकिंग और साथ में डॉग इज वार्किंग लिखा हुआ है मैं यहां से इस डॉक को हटा सकता हूं और यहां पर मैं लगा सकता हूं नाम एक्चुअली नाम जो मैंने यहां पर क्लास के अंदर नेम बनाया राइट तो इस नेम को मैं यहां पे एक्सेस कर सकता हूं मैं लिखूंगा यहां पर नेम और उसके बाद इस तरीके से सिमिलरली यहां से भी मैं डॉग हटा देता हूं यहां पर लिख नेम प्लस ठीक है तो अब मैंने क्योंकि यहां पर इनका नेम सेट कर दिया है d1 का नेम टॉमी d2 का नेम लियो उसके बाद मैंने यहां पर भी चेंज कर दिया है कोड के अंदर कि यहां पे पहले डॉग इज वकिंग और डॉग इज वार्किंग लिखा आर था अब यहां पे नेम इज वकिंग और नेम इज वार्किंग लिखा आना चाहिए बेसिकली जो एक्चुअल नेम आपने सेट किया है वो आना चाहिए वहां पे तो अब जरा इसे चला के देखते हैं तो आप देखोगे यहां पे लिखा रहा है टॉमी इज बार्किंग क्योंकि d1 को तो आपने बार्क कर रहा है और d1 का जो नेम है वो टॉमी है इसलिए टॉमी इज बर्किंग उसके बाद d2 इज लियो और लियो इज वकिंग ये लिखा रहा है ठीक है तो कुछ कुछ चीज समझ में आने लग गई होंगी अभी से ही हमें कि अच्छा क्लास क्या होता है ऑब्जेक्ट क्या होता है और जरूरत क्या पड़ती है इनकी अभी मैं बताऊंगा वैसे तो आपके बेसिकली डीएसए के अंदर अगर आप देखोगे कि जरूरत क्या पड़ रही है तो डीएसए के अंदर मोस्टली आप कस्टम क्लासेस तभी बना रहे होगे जब आपको कस्टम कोई डेटा स्ट्रक्चर बनाना है ठीक है कस्टम नॉन प्रोफिट डेटा टाइप बनाना है अगर आपको तब आप लोग क्लासेस का यूज कर रहे हो तो मोस्ट प्रॉपर्ली इसके अलावा जो क्लासेस होती है जो कलेक्शन फ्रेमवर्क अ क्लासेस होती है वो आप लोग प्री बिल्ड यूज कर रहे होते हो ऑलरेडी हमारे लिए बहुत सारी क्लासेस बन रखी या एरे लिस्ट लिंक लिस्ट ये सब चीजें वो हम यूज़ कर रहे होंगे अभी तक हम ऑलरेडी बहुत सारी क्लासेस यूज कर चुके हैं जैसे हमने स्कैनर क्लास देखी थी स्कैनर क्लास ऑलरेडी बन रखी है जावा के अंदर स्ट्रिंग क्लास भी जावा के अंदर ऑलरेडी बन रखी है ठीक है सिमिलरली हमारी स्कैनर हो गई स्ट्रिंग हो गई और भी मल्टीपल क्लासेस हमने अभी तक शायद देख होंगे मैथ क्लास हमने देखी थी राइट वो भी ऑलरेडी जावा ने बना रखी है हमारे लिए ठीक है तो ऑल दिस क्लासेस आर प्री बिल्ट लेकिन आप भी कुछ ख से क्लासेस बना सकते हो जैसे हम देखेंगे जब हम लिंक लिस्ट के अंदर मूव कर रहे हु तो हम देखेंगे नोड क्लास बना के सिमिलरली जब हम ट्री की बात करें तो ट्री के अंदर भी हम ट्री क्लास बना रहे होंगे राइट ट्री नोड बना रहे होंगे तो ये सब हम कस्टम क्लासेस बना रहे होते हैं जिससे हम कस्टम बिहेवियर और कस्टम प्रॉपर्टीज प्रोवाइड कर सकें किसी भी क्लास को तो यहां पर हमने बनाया है वैसे तो एक डॉग d1 और ये बेसिकली जो डॉग है डॉग इज अ क्लास समझ में आ रहा होगा ये बेसिकली एक ब्लूप्रिंट है डॉग इज अ क्लास और उस क्लास से आप जितने मर्जी ऑब्जेक्ट बना सकते हो हर ऑब्जेक्ट का अपना कुछ नाम अपना कुछ एज अपना कुछ प्रॉपर्टी है अपना कुछ बिहेवियर है अब मैंने यहां पे लिखा है d1 बर्क अगर मैं यहां पे लिखता हूं सपोज d1 वक तो क्या होने वाला है तो यहां पर लिखा हैगा टॉमी इज बार्किंग उसके बाद लिखा हैगा टॉमी इज वकिंग उसके बाद नीचे लिखा आएगा लियो लियो इज वकिंग ठीक है तो क्योंकि आपने d1 को पहले वक करा दिया तो हर क्लास का आपने हर ऑब्जेक्ट का अपना अपना ख खुद का खुद का बिहेवियर और प्रॉपर्टीज है अब जरा बात कर लेते मेमोरी के अंदर ये किस तरीके से एलोकेटेड होता है क मैंने यहां पर बात लिखी हुई है अ क्लास इज नॉट लोकेटेड मेमोरी व्हेन इट इज डिफाइंड एन ऑब्जेक्ट इज एलोकेटेड मेमोरी व्हेन इट इज तो बेसिकली होता क्या है ना ये सपोज करो आपकी क्लास है और इस क्लास के अंदर ये डॉक क्लास है जिसके अंदर आपने बता रखा है कि डॉक की क्या-क्या प्रॉपर्टी हो सकती है तो ये जो क्लास है ना जब आपने कोड को रन किया तो कोड को जब रन करते हैं तो कंपाइल होता है वो राइट पहले कंपाइल होता है पहले चेक किया था कि कोड के अंदर कुई गड़बड़ तो नहीं है उसके बाद फिर कोट रन होता है ठीक है तो पहले आपने चेक किया कि इस पहले आपने क्या किया इस क्लास को आपने मेमोरी में लोड कर दिया लेकिन आप बोलोगे भैया क्लास तो मेमोरी में लोकेट होती ही नहीं है मैं बोलूंगा क्लास होती है मेमोरी के अंदर लोकेट ठीक है तो दो टाइप की मेमोरी होती है एक तो हीप मेमोरी होती है एक स्टैक मेमोरी होती है खैर ये तो दो अलग मेमोरी होती है इसके अलावा एक और टाइप की मेमोरी होती है अ जिसका आपने बहुत कम नाम सुना होता है और वो बेसिकली क्लासेस को स्टोर करने काम में आती है क्लासेस का मेटा डाटा स्टोर करने के काम में आती है इट इज कॉल्ड मेटास्पेस ठीक है तो वी हैव अ मेमोरी कॉल्ड मेटास्पेस और उसके अंदर आप क्लासेस को स्टोर कर रहे होते हो तो क्लासेस के अंदर जितना भी मेटा डेटा है कि बेसिकली क्लास के अंदर क्या-क्या प्रॉपर्टीज है क्या-क्या बिहेवियर है वो आपने वहां स्टोर कर लिए बस लेकिन मेटा डाटा मेटा स्पेस में एक क्लास सिर्फ एक बार स्टोर होती है वो तब जब आपका प्रोग्राम लोड होता है मेमोरी के अंदर उसके बाद जब आपका प्रोग्राम मेमोरी में से निकल जाता है मतलब ज सारा का सारा काम हो गया तो वो आपकी मेमोरी भी डी लोकेट हो जाती है तो मेटास्पेस के अंदर हमारी एक क्लास चली गई तो भैया फिर ये जो d1 था और d2 था ये का स्टोर हो रहा है मैं बोलूंगा d1 d2 एक अलग मेमोरी बनी होती है एंड दिस इज कॉल्ड हीप मेमोरी ठीक है और हीप मेमोरी के अंदर ही सारे के सारे ऑब्जेक्ट्स जितने भी आपके बनते हैं अब मैंने डॉग क्लास बनाई है उसका भी ऑब्जेक्ट हीप मेमरी में होगा अगर मैं कोई कैट नाम की क्लास बनाता हूं उसका भी ऑब्जेक्ट बनाऊंगा तो वो भी इस हीप मेमोरी में बनेगा ठीक है तो d1 यहां कहीं पड़ा हुआ है सपोज करो d1 ये रहा और d1 को पॉइंट कर रहा है यह तो d1 जो एक्चुअल ये जो रेफरेंस है यह तो कहीं पर और स्टोर हो सकता है हो सकता है ये कई बार स्टैक मेमोरी में पड़ा हु हो सकता है हीप मेमोरी में पढ़ाओ इसको एक बार हम अच्छे से समझेंगे ठीक है हीप मेमोरी स्टैक मेमोरी को हम बाद में समझेंगे बेसिकली मैं लाइव क्लास के अंदर वो समझा दूंगा अच्छे से अ लेकिन अभी आप समझ सकते हो कि d1 एक रेफरेंस है और ये जो एक्चुअल चीज है मतलब कि जहां पर एज वगैरह स्टोर्ड है एज जो भी है इसका कलर जो है जो भी इसकी नेम है वो सब जो है वो इस एक छोटे से कंपार्टमेंट में स्टोर्ड है ठीक है और सिमिलरली एक d2 अलग बन गया है ठीक है और यह ट रेफरेंस कहीं और स्टोर्ड है और ट के अंदर जो चीज स्टोर्ड है वो इस हीप मेमोरी के अंदर स्टोर्ड है ल राइट तो समझ में आ रहा होगा क्लास तो सिर्फ एक ही बार स्टोर होती है वो भी मेटास्पेस के अंदर एंड दिस इज नॉट एक्चुअली अ मेमोरी ठीक है मेमोरी की जब हम बात करते तो हम बात करते हैं रन टाइम मेमोरी की चच इ एक्चुअली द ऑफ द कंप्यूटर ठीक है तो मेमोरी की जब हम बात कर रहे होते यूजुअली तो हम उसकी बात कर रहे होथे कि कौन सी चीज है जो कि ज्यादा मतलब रन टाइम पे बढ़ती जाएगी कि इसका स्पेस बढ़ता जाएगा रन टाइम पे ठीक है आपने जब क्लास बनाई है तो क्लास तो सिर्फ एक ही बार बनती है एक बार बन गई एक बार लोड हो गई क्लास की अच्छा क्लास आ रही है रन होते टाइम तो उसको लोड कर देते मेमोरी के अंदर लेकिन जो ऑब्जेक्ट्स है उसके तो ऑब्जेक्ट्स तो रन टाइम पर बनते रहते हैं राइट ऑब्जेक्ट्स में ये होता है कि पहले आप इस लाइन में जाओगे चेक के जाएगा कि अच्छा इसके अंदर न्यू कीवर्ड हिट हो गया तो एक नया ऑब्जेक्ट बना देंगे उस नए ऑब्जेक्ट के अंदर ज आपने नेम से सेट किया टॉमी तो वहां पे नेम सेट हो जाएगा टॉमी ठीक है तो होता क्या है आपने जैसे d1 बनाया तो d1 इ न्यू डॉक किया तो आपके लिए एक मेमोरी एलोकेट हो गई है उसके अंदर जब आपने किया टॉमी तो यहां पर फिर नेम वाली जगह पर टॉमी चला जाएगा इधर और जब आपने d2 बनाया तो d2 के अंदर भी मल्टीपल चीजें होंगी नेम एज वगैरह तो जब आपने उसका नेम सेट किया लियो तो उसके अंदर नेम की वैल्यू हो जाएगी सेट लियो इस तरीके से ठीक है तो d1 d2 अलग-अलग जितने मर्जी बनते रहेंगे उसके बाद उसके बाद आप बनाओ d4 बनाओ 000 बनाओ उतने ही ज्यादा इसके अंदर मेमोरी एलोकेट होती जाएगी उतनी ज्यादा आप लोग मेमोरी उतने ज्यादा ऑब्जेक्ट आप लोग स्टोर कर सकते हो तो वही चीज लिखी हुई यहां पे क्लास इज नॉट एलोकेटेड मेमोरी बेसिकली मेमोरी का मतलब हीप मेमोरी या फिर स्टैक मेमोरी कुछ लोकेट नहीं होती उसको अलग ही स्पेस होता है मेटास्पेस एन ऑब्जेक्ट इज लोकेटेड मेमोरी व्हेन इट इज क्रिएटेड्रॉअर्नेविगेटर कह सकते हैं कि मेमोरी में जो एक्चुअली मेमोरी में जो चीज स्टोर स्टोर्ड है वो है फिजिकल चीज जिसके साथ आप इंटरेक्ट कर सकते हो फिजिकल चीज क्या है जिसके साथ आप इंटरेक्ट कर सकते हो यू कैन नॉट डायरेक्टली इंटरेक्ट विद अ क्लास ठीक है जिसके अंदर कोई स्टैटिक वेरिएबल नहीं है अ उसके साथ आप डायरेक्टली इंटरेक्ट नहीं कर सकते हो लेकिन आप ऑब्जेक्ट के साथ डायरेक्टली इंटरेक्ट कर सकते हो तो यहां पे वो क्लास है अभी स्टैटिक वेरिएबल क्या बोलगी भैया बीच में आप तो स्टैटिक की हम पूरी की पूरी बात करेंगे ठीक है आने वाली वीडियोस में वहां पे मैं समझाऊं लेकिन बेसिकली अ क्लास के साथ आप डायरेक्टली इंटरेक्ट नहीं कर सकते इसलिए क्लास एक लॉजिक एंटिटी है फिजिकल एंटिटी आपकी d1 d2 ये जो आपने बनाए ना ऑब्जेक्ट्स ये है क्योंकि इनके अंदर ही आप लोग नेम इनके अंदर ही आप लोग एज वगैरह सेट कर सकते हो इनके अंदर आप बिहेवियर वगैरह सेट कर सकते हो इनको आप वक करा सकते हो ठीक है तो बेसिकली आप समझ लो कि ब्लूप्रिंट घर का जो ब्लूप्रिंट होता है उस ब्लूप्रिंट से आप जितने मर्जी घर बना सकते हो राइट लेकिन उस ब्लूप्रिंट के अंदर आप रह नहीं सकते हो राइट सेम वही चीज है कि ब्लूप्रिंट तो एक वर्चुअल एंटिटी है राइट ब्लूप्रिंट इज नॉट एक्चुअली अ हाउस हाउस तो आप उससे जो बनाते हो वो होते हैं राइट सेम कांसेप्ट यहां पर है कि जो क्लास है दैट इज अ वर्चुअल एंटिटी उसके साथ आप कुछ नहीं कर सकते लेकिन उसके जो ऑब्जेक्ट्स होते हैं उनके साथ आप कुछ भी कर सकते हो ठीक है उनके साथ आप इंटरेक्ट कर सकते हो दोज आर एक्चुअल फिजिकल एंटिटीज अ क्लास इज डिक्लेयर्ड ओनली वंस ऑन द अदर हैंड वी कैन क्रिएट मल्टीपल ऑब्जेक्ट ऑफ अ क्लास ये तो हमें समझ में आ गया है इसके बाद अगला देखते हैं अ क्लास इज अ वे टू अरेंज डाटा एंड बिहेवियर इंफॉर्मेशन इट इज अ टेंप्लेट दैट मस्ट बी इंप्लीमेंटेड बाय इट्स ऑब्जेक्ट्स तो यह सेम चीज समझाने का एक और तरीका है ठीक है ये मुझे काफी अच्छी लाइन लगी कि बेसिकली एक क्लास क्या है क्लास बेसिकली एक डाटा और उसके बिहेवियर की इंफॉर्मेशन को साथ-साथ स्टोर करने का तरीका ही तो है राइट आपको एक नॉन प्रिमिटिव डेटा टाइप बनाना था राइट सपोज करो मैं एक नॉन प्रिमिटिव डेटा टाइप बना के दिखाता हूं आप लोगों को राइट तो एक काम करते हैं मैं एक बनाता हूं तो हमें पता है कि हमारे पास इंट होता है हमारे पास लॉन्ग होता है हमारे पास फ्लोट होता है ये सब तो है लेकिन आपने मैथ में देखा होगा कॉम्प्लेक्शन नंबर भी होते हैं राइट a ् b आई ऐसे राइट तो ये आपके कॉम्प्लेक्टेड टाइप तो कॉम्प्लेक्शन कैपिटल लेटर से स्टार्ट करना है यह बात मैं बताना भूल गया था आप लोगों को तो क्लास जब भी आप बना रहे हो तो उसके अंदर नेमिन वेंशन यही है कि उसको आपको कैमल केस तो रखना ही है लेकिन पहला लेटर जो है वो कैपिटल होना चाहिए तो कैमल केस रखना है लेकिन कैपिटल कैमल केस का मतलब अगर दो वर्ड्स हैं तो दूसरे वर्ड का पहला लेटर कैपिटल होना चाहिए ठीक है और साथ में क्लास का भी जो पहला लेटर है वो कैपिटल रखना है आप लोगों को आप चाहो तो छोटा भी रख सकते हो लेकिन मतलब रिकमेंडेटरी रखो हमेशा ठीक है कॉम्प्लेक्शन ही रख लेता उसका नाम तो इसके अंदर हम दो चीजें रख सकते हैं राइट एक होगा रियल पार्ट एक होगा इमेजिनरी पार्ट a प् ब के अंदर ए इज अ रियल पार्ट एंड बी इज द इमेजिनरी पार्ट तो आप ऐसे समझ सकते हो कि इन a और बी तो ये मैंने दो इसके अंदर वेरिएबल बना लिए दोनों a और बी और a को हम समझ लेंगे कि ये रियल पार्ट है और बी को हम समझ लेंगे कि ये इमेजिनरी पार्ट है अब ये तो इसकी दो प्रॉपर्टी हो गई अब इसके अंदर बिहेवियर में क्या-क्या हो सकता है तो बिहेवियर मतलब कि ये कॉम्प्लेक्शन परफॉर्म हो सकते हैं हम इसके अंदर एडिशन सबट क्शन ये सब चीजें कर सकते हैं मल्टीप्लिकेशन कर सकते हैं तो अभी मैं वो सब चीजें करूंगा बाद में अभी फिलहाल दिखाऊंगा आप लोगों को लेकिन एक छोटा सा अभी फिलहाल हम ये लिख लेते हैं कि प्रिंट भी कर सकते हैं राइट तो यह प्रिंट नाम का सपोज करो मैंने बना दिया कि अगर आपको कोई कॉम्प्लेक्शन से आप लोग उसको प्रिंट कर सकते हो तो ये इसका बिहेवियर हो गया कि आप इसको प्रिंट भी कर सकते हो राइट जो चीज आप इस कर सकते हो दो बिहेवियर तो इसको प्रिंट कैसे कर सकते हैं तो प्रिंट करने के लिए आप इसको सिंपली ऐसे लिख सकते हो कि ए और प्लस बी और इसके आगे य अपने आप ही आई लगा देगा इस तरीके से ठीक है तो कभी भी आपने कोई तो प्रिंट हम इस मेथड की हेल्प से बड़ी इजली कर सकते हैं तो एक काम करता ह मैं एक आपको कभी इस नम व को प्रिंट करना है तो बस आपको फंक्शन कॉल करना है नव ड प्रिंट वाला और यह अपने आप ही इसको प्रिंट कर देगा जरा चला के दिखाते हैं आपको तो आप देखोगे अपने आप ही 3+ 5 आयो ये प्रिंट हो गया यहां पर ठीक है तो इस तरीके से मेरे पास मुझे पता है कि मेमोरी के अंदर मतलब जावा ने ऑलरेडी मुझे एक कॉम्प्लेक्शन सॉल्व करना है को आप इसलिए भी यूज़ करते हो तो क्लास को यूज आप दो तरीके से कर सकते हो बेसिकली काम तो एक ही हो रहा है लेकिन मायने अलग-अलग है राइट आप किस लिए यूज कर रहे हो क्लास को कई बार आप ऑब्जेक्ट और उसकी प्रॉपर्टीज वगैरह डिफाइन करने के लिए यूज करते हो कई बार आप कस्टम अपने डेटा टाइप बनाने के लिए भी इसको यूज करते हो तो हमने इस तरीके से यहां पर कस्टम डेटा टाइप बना लिया है जिसके कुछ कुछ प्रॉपर्टी है a और बी उसके अलावा इसके अंदर एक फंक्शन एक फंक्शन अभी मैंने बनाया प्रिंट वाला इसके अंदर में अभी और ऐड वगैरह वाले फंक्शन बना के आपको दिखाऊंगा ठीक है तो यह हमारे दो तरीके से हम समझ चुके हैं क्लास को और वही चीज यहां पर लिखी हुई है ठीक है उसके अलावा अ क्लास कैन आल्सो बी सीन सीन एज अ यूजर डिफाइंड डटा टाइप वही चीज जो मैंने आपको बताई है कैन आल्सो बी सीन एज यूजर डिफाइंड डटा टाइप वेयर एनी ऑब्जेक्ट ऑफ डिफाइंड डटा टाइप हैज सम प्री डिफाइंड प्रॉपर्टीज एंड बिहेवियर्स ठीक है तो यूजर डिफाइंड डेटा टाइप अगर आपको बनाने है बेसिकली नॉन प्रिमिटिव डेटा टाइप तो उसके लिए आप लोग क्लासेस बना सकते हो और उनके अंदर आप काम कर सकते हो ठीक है अब इसके बाद एक नया कांसेप्ट पढ़ेंगे व्हिच इज कॉल्ड मेथड ओवरलोडिंग अब मेथड ओवरलोडिंग क्या चीज होती है तो बहुत ही बढ़िया कांसेप्ट आ रही है ठीक है कमाल का कांसेप्ट है और इसकी हेल्प से आप लोग टू और मोर मेथड्स कैन हैव द सेम नेम इनसाइड द सेम क्लास इफ दे एक्सेप्ट डिफरेंट आर्गुमेंट दिस फीचर इज कॉल्ड मेथड ओवरलोडिंग तो बेसिकली आप सेम फंक्शन सेम नाम का फंक्शन दो बार बना सकते हो बस आपको उसके पैरामीटर्स को चेंज कर देना है अगर आपने उसके पैरामीटर्स को चेंज कर दिया तो आप जितने मर्जी अलग-अलग फंक्शन बना सकते हो सेम नाम के और उसका यूज़ कहां पे आता है मैं बताऊंगा उसका यूज़ कहां पे आता है ठीक है इसका इसको आप लोग प्रैक्टिकली क यूज़ करते हो वो मैं आपको मैं समझाऊ ा तो उसके लिए काम करते हैं अ उप्स वन के अंदर अ मैं यहां पे एक नई क्लास बना देता हूं एंड लेट्स नेम इट अ मेथड ओवरलोडिंग ठीक है तो मैंने एक मेथड ओवरलोडिंग नाम से क्लास बना दिया इसके अंदर पब्लिक स्टैटिक वॉइड मेन बना लेते हैं बिकॉज़ हमारा जो एग्जीक्यूशन है वो हमेशा अ पब्लिक क्लास के मेन मेथड से स्टार्ट होता है तो यह बनाना जरूरी है अब एक और क्लास बना लेते हैं लेट्स से यहां पे एक मैंने क्लास बना ली और यह मेरी अ ग्रीट नाम की क्लास है ठीक है क्लास ग्रीट इस क्लास का काम है बेसिकली लोगों को ग्रीट करने काम आते ठीक है तो इस क्लास के अंदर सपोज कर एक फंक्शन है वॉइड ग्रीट ग्रीटिंग्स और यह फंक्शन कुछ नहीं करता यह बोलता है हेलो गुड मॉर्निंग राइट इस फंक्शन का काम है हेलो गुड मॉर्निंग बोलने का अब इस फंक्शन को अगर हमें कॉल कराना है तो यली हम पहले गड क्लास का बनाना पड़ेगा तो ग्रीट ऑब्जेक्ट इक्वल टू न्यू ग्रीट राइट ये हमारा तरीका होता है क्लास का ऑब्जेक्ट बनाने का अब इसका फंक्शन हमें यूज करना है तो हम कर सकते हैं ऑब्जेक्ट डॉट और उसके बाद हमें दिखेगा ग्रीटिंग्स नाम का फंक्शन इसको जरा रन करके देखते हैं तो हमारा ये काम करेगा मैं आप बोलोगे ये तो बहुत ही सिंपल था ये तो पता ही है इसमें क्या है मेथड ओवरलोडिंग कहां लगा है मैं बोलूंगा ज्यादा सब्र करो ठीक है अभी हम दिखाते हैं मेथड ओवरलोडिंग कहां लग रही है तो ये मैंने ग्रेटिंग्स नाम का फंक्शन बनाया राइट अब मेरा मन कर रहा है कि यार ग्रेटिंग मुझे ऐसे नहीं देनी मुझे कई बार बंदे का नाम भी चाहिए होगा ठीक है कि कई बार हो सकता है किसी ने नेम अपना डिफाइन कर रखा हो तो मुझे अगर किसी ने नाम दिया हुआ है अपना कि मेरा नाम यह है तो मुझे हेलो फिर मेरा नाम उसके बाद गुड मॉर्निंग बोला जाए ठीक है लेकिन कई बार हो सकता है कुछ लोगों ने नाम ना दिया हो ठीक है दो टाइप के लोग हो सकते हैं कुछ लोग जो नाम देंगे कुछ लोग जो नाम नहीं देंगे तो दोनों के लिए मुझे फंक्शन तो सेम बनाना है लेकिन इस वाले फंक्शन के अंदर सपोज करो मुझे नाम मिला हुआ है यूजर ने मुझे नाम दिया है तो मुझे इसके अंदर थोड़ा वाल काम करना है मुझे करना है हेलो उसके बाद यहां पर डालूंगा मैं नेम उसके बाद मैं यहां पर डालूंगा गुड मॉर्निंग ठीक है चीज समझ में आ रही क्या किया मैंने यहां पर मैंने यहां पर सेम नाम का फंक्शन दो बार बना लिया देखो स्पेलिंग एकदम सेम है ग्रीटिंग्स ग्रीटिंग्स लेकिन मैं क्यों बना पाया क्योंकि इन दोनों के अंदर पैरामीटर अलग-अलग है इसके अंदर स्ट्रिंग नेम है और इसके अंदर नो पैरामीटर राइट अगर मैं यहां से पैरामीटर हटा दूं तो मुझे एरर मिलेगा यहां तो एरर मिलेगा ही खैर कि आप क्या कर रहे हो इस नेम को हटा देता हूं मैं फिलहाल के लिए लेकिन यहां भी एरर मिल रहा है बोल रहा है कि भाई सेम नाम के कैसे ग्रेटिंग इ ऑलरेडी डिफाइंड इन पस ग्रीट तो इस पैकेज के इस क्लास के अंदर ऑलरेडी आपने ग्रेडिंग्स नाम का फंक्शन डिफाइन कर रखा तो आप दोबारा कैसे डिफाइन कर रहे हो फिर जैसे ही मैं इसके अंदर लगा देता हूं ये स्ट्रिंग नेम तो वो एरर चला जाता है आप बोलोगे अरे भैया अब कैसे अलाव कर दिया मैं बोलूंगा यही तो कमाल है मेथड ओवरलोडिंग का कि यू कैन ओवरलोड अ मेथड विद डिफरेंट डिफरेंट पैरामीटर्स मतलब ओवरलोड का मतलब ये नहीं कि भर दिया उसके अंदर य ओवरलोडिंग का मतलब कि एक नाम के आपने मल्टीपल बना दिए ठीक है तो एक नाम का आपने मल्टीपल बना दिया ग्रीटिंग भी बना दिया और ग्रीटिंग्स नाम से एक और बना दिया लेकिन इस बार आपने उसके अंदर स्ट्रिंग नेम पास कर दिया तो अगर आपको ये वाला फंक्शन कॉल करना है तो आपको कुछ नहीं करना आपको ये करना है ऑब्जेक्ट डॉट ग्रीटिंग्स इस बार इस ग्रीटिंग्स वाले के अंदर आप नेम पास कर दो लेट्स से अनुज पास कर दिया मैंने तो जावा अपने आप ही क्या करेगा ना जावा अपने आप ही रन टाइम पे पता लगा लेगा मुझे कौन सा वाला फंक्शन कॉल करना है ठीक है जैसे यहां पर देखो अगर मैं इस ग्रीटिंग्स पर क्लिक करूंगा तो ये नीचे वाले फंक्शन पर लेके जा रहा है मुझे ये क्लिक कैसे किया मैंने कमांड या फिर कंट्रोल बटन पर होल्ड करो ठीक है अगर आप विंडोस के अंदर हो तो कंट्रोल अगर आप मैक में हो तो कमांड उसके बाद यहां पर जाओ उसके बाद इस पर क्लिक कर दो यह आपको बता देगा कौन सा वाला फंक्शन इवोक होने वाला है तो यहां पर यह वाला फंक्शन हो रहा है वहीं पर यहां पर नीचे वाला हो रहा है और इसको अगर हम चलाएंगे तो आप देखोगे कि यहां पर ऊपर वाले में हेलो गुड मॉर्निंग और नीचे वाले में हेलो अनुज गुड मॉर्निंग तो दिस इज कॉल्ड मेथड ओवरलोडिंग कि यू हैव मल्टीपल फंक्शंस ऑफ द सेम नेम इन अ क्लास एज लोंग एस यू आर डिफाइनिंग डिफरेंट नंबर ऑफ पैरामीटर्स या फिर डिफरेंट टाइप ऑफ पैरामीटर्स अच्छा यहां पर एक बात समझने वाली वो यह है कि अगर आपने ऐसा कुछ बना लिया ना इंटीग्रेटिंग और आप सोच कि भाई यहां पर भी तो ये अलग हो गया ये अलाउड होना चाहिए राइट रिटर्न लेट्स से जीरो मैं बोलूंगा नहीं ये अलाउड नहीं है ठीक है यह मेथड ओवरलोडिंग का एग्जांपल नहीं है क्यों भैया क्योंकि यार पैरामीटर अलग-अलग थोड़ना पैरामीटर तो दोनों में सेम सेम है अब जावा कंफ्यूज हो जाएगा कि मुझे कौन सा वाला फंक्शन कॉल करना है वॉइड वाला या इंट वाला ठीक है यहां पे कंफ्यूजन है जावा को कि फंक्शन कौन सा कॉल होना चाहिए राइट क्योंकि रिटर्न टाइप ही तो अलग-अलग किया आपने रिटर्न टाइप से फंक्शन कौन सा कल होगा ये तो ना पता लगा सकते हैं तो दिस इज नॉट मेथड ओवरलोडिंग टू टू अचीव मेथड ओवरलोडिंग यू हैव टू डू समथिंग विद पैरामीटर्स पैरामीटर्स आपको अलग-अलग करने पड़ेंगे अच्छा अब आप बोलोगे कि एक काम करता हूं भैया वॉइड ग्रीटिंग्स नाम का एक और बना देता हूं और इस बार स्ट्रिंग और नेम नहीं स्ट्रिंग कलर कर लेता हूं ये भी अलाउड होना चाहिए ठीक है मैं बोलूंगा नहीं यार ये भी अलाउड नहीं होगा ग्रीटिंग्स ठीक है अब बोल क्यों यहां पर तो नेम है यहां पर कलर है ये तो अलग-अलग हो गए मैं बोलूंगा नहीं भाई जावा को थोड़ी ना पता कि आपने स्ट्रिंग नेम पास किया है स्ट्रिंग कलर पास कर रहे हो ठीक है उसको थोड़ा ना पता कि नेम के अंदर हो सकता है आप लोग रेड पास कर दो किसी का नाम रेड हो या पिंक हो ठीक है या फिर किसी का कलर जो है कुछ और नाम वाला कलर हो मतलब मतलब कुछ भी हो सकता है राइट तो स्ट्रिंग ये कि टाइप क्या है पैरामीटर का टाइप क्या है तो पैरामीटर का टाइप आप जैसे ही अलग कर दोगे सपोज करो स्ट्रिंग कलर नहीं है आप हैक्स कोड स्टोर कर रहे तो इंट कलर आप करोगे बढ़िया यह कर सकते हो आप ठीक है इंट कलर के साथ पास कर सकते हो या फिर आप दो पास कर दो ठीक है एक आपने स्ट्रिंग नेम पास कर दिया और सपोज करो एक और आप पास कर दो इसके अंदर इंट काउंट तो यह अलाउड है ये करोगे तो कोई दिक्कत नहीं आएगी जावा को जावा बोलेगा ठीक है पैरामीटर्स आपने चेंज कर दिए राइट इसके अंदर अब मुझे कंफ्यूजन नहीं जब आप मुझे कॉल करोगे कि मुझे कौन सा वाला फंक्शन कॉल करना है राइट अ जैसे अगर मुझे ये वाला यूज़ करना है सपोज करो जिसके अंदर काउंट दिया हुआ है तो कई बार कोई यूजर हो सकता है बोल सकता है कि मैं आपको अपना नाम बता रहा हूं और साथ में बता रहा हूं मुझे कितनी बार गुड मॉर्निंग बोलना है तो मुझे उतनी बार गुड मॉर्निंग बोलना है आपको ठीक है तो उसके लिए मैं बोलूंगा ठीक है भाई मैं फॉर लूप लगा देता हूं इं i = 0 i लेन काउंट i+ प् और उसके अंदर ये वाला ये वाली लाइन लिख देते हैं तो अगर आप यह वाला ग्रीटिंग्स वाला फंक्शन कॉल करोगे जिसके अंदर काउंट पास हो रहा है तो उस बार आप उतनी नंबर ऑफ़ टाइम्स उसको ग्रीट कर रहे होंगे तो एक काम करता हूं मैं इसको करता हूं कमेंट और ऑब्जेक्ट डॉट ग्रीटिंग और यहां पे मैं पास करूंगा पहले नाम लेट्स से अ रोहित और लेट्स से यहां पे कर दिया मैंने पास फाइव तो अपने आप ही यह वाला फंक्शन कॉल होगा और अगर आप इसे रन करोगे तो आप पाओगे कि यह पांच बार हेलो रोहित गुड मॉर्निंग प्रिंट कर रहा है क्योंकि यहां पे ये फॉर रूप हमने लगा रखा है पांच बार जो कि यह वाले लाइन को प्रिंट कर रहा है ठीक है तो दिस इज हाउ यू अचीव मेथड ओवरलोडिंग आई थिंक समझ में आ गया होगा बहुत ही सिंपल कांसेप्ट है यह तो और यहां पर वही चीज लिखी हुई है मेथड लोडिंग ओवरलोडिंग इज अचीव्ड बाय इदर चेंजिंग द नंबर ऑफ आर्गुमेंट और चेंजिंग द डेटा टाइप ऑफ आर्गुमेंट इफ यू डू इदर वन ऑफ दिस थिंग्स तो आप उससे मेथड ओवरलोडिंग अचीव कर सकते हो इन द सेम फंक्शन नेम इट इज नॉट मेथड ओवरलोडिंग इफ वी ओनली चेंज द रिटर्न टाइप ऑफ मेथड ये तो हमने देख लिया और समझ लिया देर मस्ट बी डिफरेंस इन द नंबर ऑफ पैरामीटर्स या फिर टाइप ऑफ पैरामीटर्स यहां पर आप देख सकते हो कि वॉइड फंक्शन वॉइड फंक्शन विद इंट ए फंक्शन विद डबल ए फंक्शन विद इंट ए फ्लोट बी तो ये चारों चारों आराम से हमारी मेथड ओवरलोडिंग कर रहे हैं आप रिटर्न टाइप को देखो ही मत रिटर्न टाइप कुछ भी हो सकता है उससे हमें फर्क नहीं पड़ता ठीक है रिटन टाइप से हमें कुछ फर्क नहीं पड़ता है हमें जो फर्क पड़ता है वो इससे पड़ता है बस कि पैरामीटर में क्या पास हो रहा है उसी से हमारी मेथड ओवरलोडिंग होती है तो ये जावा का एक कांसेप्ट है जिससे आप सेम नाम के फंक्शन को मल्टीपल टाइम यूज कर सकते हो और समझ में भी आ रहा होगा कि कितना यूजफुल है ये प्रैक्टिकली हमने देख लिया कि कई बार हो सकता है कोई नाम ना बताए कई बार हो सकता है कोई नाम बता दे तो दोनों के लिए आपकी अलग अलग हैंडलिंग होनी चाहिए कई बार कोई नाम बता दे और साथ में काउंट भी बता दे तो उसके लिए आपकी हैंडलिंग अलग होनी चाहिए राइट तो हम नहीं चाहते कि अलग-अलग फंक्शन बनाए उसके लिए हम चाहते हैं सेम ही फंक्शन बनाए लेकिन जावा इतना स्मार्ट होना चाहिए कि अपने आप ही पता लगा ले कौन सा फंक्शन कॉल करना है तो उस काम में हमारी मेथड ओवरलोडिंग आ जाती है अब इसके बाद अगली चीज समझते हैं व्हिच इज कॉल्ड कंस्ट्रक्टर्स कंस्ट्रक्टर्स भी बहुत इंपोर्टेंट एस्पेक्ट होता है जब भी आप लोग कोई ऑब्जेक्ट बनाते हो तो आपका एक कंस्ट्रक्टर कॉल होता है यहां पर लिखा हुआ है कंस्ट्रक्टर्स आर इन्वोक्ड इंपलीसिटली व्हेन यू इंस्टेंशिएट ऑब्जेक्ट्स इंस्टेंशिएट एन ऑब्जेक्ट इसका मतलब क्या है बेसिकली इंस्टेंस इंस्टेंस का मतलब होता है ऑब्जेक्ट ठीक है इंस्टेंस बोलो ऑब्जेक्ट बोलो अगर मैंने पहले कभी इंस्टेंस बोल दिया या फिर कहीं लिखा होगा और आप कंफ्यूज हो गए होंगे उस जगह पे कि इंस्टेंस क्या होता है इंस्टेंस एंड ऑब्जेक्ट्स आर सेम थिंग्स ठीक है तो इंस्टेंस बोलो ऑब्जेक्ट बोलो एक ही बात है तो बेसिकली इंस्टेंशिएट एंड ऑब्जेक्ट मतलब जब आप ऑब्जेक्ट क्रिएट कर रहे हो दैट फेस इज कॉल्ड इंस्टेंशिएशन इनिला इजेशन एंड इंस्टेंशिएशन आर अलग-अलग ठीक है इनिश जशन मतलब कि ऑब्जेक्ट बन चुका है उसको आप इनिश इज कर रहे हो किसी वैल्यू के साथ दैट थिंग इज कॉल्ड इनिश इजेशन एंड इंस्टेंशिएशन इज पहला स्टेप सबसे पहला स्टेप कि ऑब्जेक्ट क्रिएट ही हो रहा है राइट देन दैट इज कॉल्ड इंस्टेंशिएट तो कंस्ट्रक्टर्स आर इन्वोक्ड इंपलीसिटली इंपलीसिटली मतलब अपने आप ही इवोक हो जाते हैं जब आप को कोई ऑब्जेक्ट क्रिएट करना होता है तो आप बोल रहे हो भैया हमने तो ऑब्जेक्ट क्रिएट कर दिया इतने सारे हम ऊपर ऑब्जेक्ट बनाए जा रहे हैं यहां पर हमने एक ऑब्जेक्ट बनाया था ग्रेटिंग नाम का ग्रेटिंग मतलब ऑब्जेक्ट नाम का एक ऑब्जेक्ट बनाया था यहां पर भी हमने एक नम वन बनाया था ये सारे ऑब्जेक्ट बना चुके हम यहां तो हमने देखा नहीं कंस्ट्रक्टर कॉल होते हुए कंस्ट्रक्टर इवोल्व होते हुए तो मैं बोलूंगा वहां पर भी हमारा कंस्ट्रक्टर कॉल हो गया था लेकिन दैट कंस्ट्रक्टर इज द डिफॉल्ट कंस्ट्रक्टर जो कि हर क्लास को मिलता ही है वो भी हम समझेंगे ठीक है यहां पर एक चीज लिखी हुई है पहले देख लेते हैं द टू रूल्स ऑफ क्रिएटिंग अ कंस्ट्रक्टर आर क्या-क्या रूल है तो द नेम ऑफ़ द कंस्ट्रक्टर शुड बी द सेम एज द क्लास अ जावा कंस्ट्रक्टर मस्ट नॉट हैव अ रिटर्न टाइप इफ अ क्लास डंट हैव अ कंस्ट्रक्टर द जावा कंपाइलर ऑटोमेटिक क्रिएट्स अ डिफॉल्ट कंस्ट्रक्टर ड्यूरिंग रन टाइम द डिफॉल्ट कंस्ट्रक्टर इनिश इजस इंस्टेंस वेरिएबल विद डिफॉल्ट वैल्यूज तो यह वो लाइन है जिससे आपको समझ में आना चाहिए कि जब आपने कोई कंस्ट्रक्टर नहीं बनाया तब भी जावा आपके लिए एक डिफॉल्ट कंस्ट्रक्टर बना देता है और वो फिर अपने हिसाब से जो आपके पैरामीटर्स जो आपके प्रॉपर्टीज है बेसिकली वेरिएबल है क्लास के अंदर उनको डिफॉल्ट वैल्यू के साथ इनिज कर देता है ये सब क्या बोल ग भैया क्या बो रहा है ये कंस्ट्रक्टर होते क्या है यही समझ नहीं आया मैं मैं बोलूंगा ठीक है टेंशन मत लो अभी समझाता हूं तो हम जाएंगे अपने पुराने वाले एग्जांपल के अंदर ही एंड यहां पर एक काम करते हैं मैं एक काम करता हूं यहां पर एक नया बना लेते हैं ठीक है न्यू क्लास एंड दिस इज फॉर लर्न कंस्ट्रक्टर्स और इसके अंदर बना लेते हैं जैसे पब्लिक स्टेट वॉइड मेन और इसके अंदर से हम फंक्शन कॉल करेंगे और मैं एक काम करता हूं यहां पर ना यह जो कॉम्प्लेक्टेड पलीके क्लास मिल रही है इसको और यह अलाउड नहीं है ठीक है उप्स वन के अंदर डुप्लीकेट क्लास मिल रही है कॉम्लेक्स नाम की तो अगर कोई बाहर के पैकेज से उपस वड कॉप्लेक्स हिट करने का ट्राई करेगा तो उसको दो क्लासेस मिलेंगी एक तो मिलेगी यह वाली क्लास और एक ये मिलेगी तो एक क्लास को हमें उड़ाना पड़ेगा यहां से तो एक को हटा देते हैं और यह अभी भी चल रहा है मेरा यह क्यों चल रहा है भैया क्योंकि एक पैकेज के अंदर अगर आपने कोई क्लास बना रखी है तो वो एक्सेसिबल होगी दूसरी क्लास के अंदर भी ये सब क्या हो रहा है पैकेज जिसके अंदर क्लासेस वगैरह कैसे एक्सेस हो पा मैं बोलूंगा टेंशन मत लो ऊस के अंदर अभी हम समझेंगे ये सारी चीजें ठीक है तो ये हम समझेंगे जब मैं आपको पैकेजेस के बारे में बताऊंगा पैकेजेस सिर्फ फोल्डर्स नहीं होते ऐसा नहीं कि बस फोल्डर्स बना रहे होट ज पैकेजेस नहीं पैकेजेस फोल्डर से भी ऊपर एक चीज प्रोवाइड कराते एक्सेस मॉडीफाय ठीक है एक्सेस मोडिफाय का भी रोल प्ले करते है य कैसे करते हैं व हम समझेंगे बाद में फिलहाल के लिए मैं करता इसको कर देता हूं कमेंट और जरा यहां आते हैं तो दिस इ क्लास कॉम्लेक्स और इसके अंदर हमारे दो प्रॉपर्टीज थी और यह हमने एक बिहेवियर बना दिया था प्रिंट नाम का जो कि बस प्रिंट कर रहा है कंस्ट्रक्टर का है इसके अंदर तो जब मैंने किया ये कॉम्प्लेन वन इक्व टू न्यू कॉम्प्लेक्शन की तरह कॉल हो रहा है य राइट आप कह सकते कंस्ट्रक्टर जो है व फंक्शन की तरह ही होते हैं मतलब एक्चुअली में कंस्ट्रक्टर फंक्शन नहीं होता है प्रो इंटरव्यू में मत बोलना कि कंस्ट्रक्टर लाइक फंक्शन नहीं बस समझाने का तरीका है मेरा कि यहां पर देखो कॉल हो रहे एक तरीके से यह भी और यह कुछ रिटर्न कर रहे हैं बेसिकली आप देख सकते किय ऑब्जेक्ट रिटर्न कर रहे हैं कंस्ट्रक्टर कुछ रिटर्न नहीं करते य बसरा समझाने का तरीका है बोलना मत इंटरव्यू के अंदर बेसिकली जब भी आपने ऐसे किया न्यू कॉम्प्लेक्शन टाइप नहीं होता कंस्ट्रक्टर का ठीक है उसके बाद आप लिखते हो सपोज करो पब्लिक लिख दिया मैंने पब्लिक उसके बाद लिख कॉम्लेक्स फंक्शन का नाम सॉरी क्लास का नाम तो कक्टर का जो नाम होना चाहिए ट शुड बी सेम एस क्लास का नाम ठीक है क्लास का नाम कॉम्प्लेक्शन दैट जावा क्रिएट्स फॉर यू ऑटोमेटिक ली यह वाला कंस्ट्रक्टर अपने आप ही बन जाता है आपके लिए ठीक है यह आपको बनाने की जरूरत नहीं पड़ती जिसके अंदर सारे के सारे पैरामीटर्स जो है वो डिफॉल्ट वैल्यू के साथ इनिश इज हो जाते हैं ठीक है तो अगर मैं यहां पे अगर प्रिंट करने का ट्राई करूं न वन को अभी फिलहाल के नव डॉट प्रिंट तो आप देखोगे कि 0 प् 0 आ प्रिंट होने वाला है ये जीरो जीरो वैल्यू कहां से आई मैंने तो a और बी की वैल्यू सेट नहीं की थी भैया मैंने तो यहां पर न 1a और न 1b को सेट नहीं किया था तो ये नव . ए और बी के अंदर जीरो कहां से आया मैं बोलूंगा वो इस डिफॉल्ट कंस्ट्रक्टर ने आपके लिए कर दिया था ये डिफॉल्ट कंस्ट्रक्टर आप नहीं भी बनाओगे तो जावा अपना खुद का डिफॉल्ट कंस्ट्रक्टर कॉल कर देगा लेकिन अगर आपने बना दिया अगर डिफॉल्ट कंस्ट्रक्टर तो फिर जावा अपना डिफॉल्ट कंस्ट्रक्टर कॉल नहीं करेगा ठीक है अब आप इसके अंदर अगर वैल्यू चेंज कर देते हो सपोज करो एक की वैल्यू आपने फ कर दी और बी की वैल्यू आपने सपोज कर दी ना तो अब अगर आप ऐसे नम वन बनाओगे तो आप देखोगे अब यहां पर वैल्यू चेंज हो जाएगी 5 प् 9 आ और यही नहीं अगर आप यहां पर नम टू भी बनाओगे ना मतलब एक और बनाओगे और उस नम टू को भी प्रिंट करागे तो वो भी सेम ही वैल्यू के साथ प्रिंट होने वाला है तो यहां पर चल केहा मैं आपको समझाता हूं यहां पर भी सेम वैल्यू के साथ वो प्रिंट हो रहा है ठीक है तो भैया व्हाट इज गोइंग ऑन हियर ये समझा दो तो देखो यार बताता हूं आपको तो बेसिकली हो क्या रहा है कि ये जो कंस्ट्रक्टर है यह कंस्ट्रक्टर बेसिकली बताता है कि देखो यार आपका जब भी कोई ऑब्जेक्ट बनेगा ना तो वो मेरे थ्रू होके जाएगा ठीक है मेरा इवोक होना जरूरी है और जावा इस चीज को मेक श्यर करेगा कि कंस्ट्रक्टर इवोक हो जब भी आप कोई चीज बनाओगे तो कंस्ट्रक्टर के थ्रू हो गही जाएगी वो बेसिकली समझ लो कि फैक्ट्री के अंदर एक मशीन है तो जैसे कि क्लास एक फैक्ट्री है अगर तो फैक्ट्री के अंदर एक मशीन है जिसके थ्रू होग जाना ही पड़ेगा अगर आपको कोई चीज क्रिएट करनी है तो वो मशीन आपकी कंस्ट्रक्टर होती है कंस्ट्रक्टर ही बेसिकली कंस्ट्रक्ट कर रही होती है ऑब्जेक्ट्स को ठीक है तो इसके थ्रू होके जाना पड़ेगा आपको तो जोब आप मेरे थ्रू होके जा रहे हो ना तो मैं क्या करूंगा आपके अंदर जितनी भी वैल्यूज है उनको मैं मॉडिफाई कर सकता हूं अपने अकॉर्डिंग जैसा मेरा मन करेगा मेरा मन कर रहा है कि आपके अंदर की जो वैल्यूज है ए और बी को सेट करना फाइव और नाइन तो ज आपने नम वन बनाया तो नम वन बनेगा तो अलग मेमोरी के अंदर सपोज करो दिस इज योर हीप मेमोरी एंड इसके अंदर हमा नव बन रहा है तो नवन के अंदर जो ए और बी की वैल्यूज है ना यहां पर वो इसने कंस्ट्रक्टर ने सेट कर दी है पहले ही उसके बाद जब आपने कोई नम टू बनाया उसके अंदर जब ए और बी बनाया तो उस ए और बी की वैल्यू भी इसने सेट कर दी 5 और ना अगर आप एक और बनाओगे नम थ तो उसके अंदर भी और बी की वैल्यू ये कंस्ट्रक्टर सेट कर देगा इसीलिए बारबार यहां पर 5 प् 9 आयो 5 प् 9 प्रिंट हो रहा है बात समझ में आ रही है कि ये जो कंस्ट्रक्टर है यह कॉल हो रहा है हर बार और यह मैंने डिफॉल्ट कंस्ट्रक्टर को यहां पर ड कर दिया एक तरीके से ओवरराइड मतलब कि डिफॉल्ट कंस्ट्रक्टर ऑलरेडी जावा ने बना रखा था लेकिन आपने उस डिफॉल्ट कंस्ट्रक्टर के अंदर कुछ चेंजेज कर दिए हैं दैट थिंग इज कॉल्ड ओवरराइडिंग द डिफॉल्ट कंस्ट्रक्टर कि आप बता रहे हो कि नहीं डिफॉल्ट बिहेवियर नहीं होना चाहिए जो मैं बता रहा हूं वैसा बिहेवियर होना चाहिए ठीक है तो मैं बता रहा हूं कि ए और बी को वैल्यू को ऐसे चेंज करना है साथ ही में मैं यह भी बता रहा हूं सपोज करो कि जब भी कोई ऑब्जेक्ट बनेगा तो प्रिंट होगा क्रिएटिंग ए न्यू ऑब्जेक्ट कि मेरी मर्जी है कि जब भी कोई नया ऑब्जेक्ट बनेगा ना तो उससे पहले यह लाइन को प्रिंट करना है आपको तो देखो आप रन करोगे ना तो पहले क्रिएटिंग अ न्यू ऑब्जेक्ट फिर क्रिएटिंग अ न्यू ऑब्जेक्ट उसके बाद नम 1 ड प्रिंट नम टड प्रिंट हुआ है तो हो क्या रहा है जब आपने किया न्यू कॉम्प्लेक्शन कॉल हुआ ये वाला फंक्शन कॉल हुआ जिसने a और बी की वैल्यू को चेंज किया उसके बाद ये लाइन को किया प्रिंट और उसके बाद रिटर्न कर दिया आपको एक ऑब्जेक्ट और वो ऑब्जेक्ट की वैल्यू इस नन में स्टोर हो गई है ये बस आपको समझाने का तरीका है कि फंक्शन की तरह से आप समझ सकते हो ठीक है तो ये आपका कंस्ट्रक्ट होता है बेसिकली एंड दिस इज कॉल्ड डिफॉल्ट कंस्ट्रक्टर लेकिन आप ऐसा नहीं चाहते राइट कि a और b की वैल्यू फाइव और नाइन रहे हमेशा कि आप जब भी नए-नए ऑब्जेक्ट्स बना रहे हो तो उनके अंदर एक ही डिफॉल्ट वैल्यू डली रहे आप चाहते हो कि अलग-अलग बने जैसे अगर आप नए-नए डॉग्स बना रहे हो तो आप चाहते हो कि उनके अंदर आप अलग-अलग ब्रीड अलग-अलग कलर अलग-अलग साइजेस अलग-अलग नेम वगैरह डिफाइन कर सको सिमिलरली अगर आप अलग-अलग कॉम्प्लेक्शन नंबर्स बना रहे हो तो आप चाहते हो कि अपने हिसाब से अलग-अलग कॉप्लेक्स नंबर बना सको आप नहीं चाहते कि डिफॉल्ट वैल्यू के साथ वो स्टार्ट हो राइट तो आप यहां पे उन वैल्यूज को चेंज कर सकते हो ठीक है तो आप चाहो तो यहां पर एक और कंस्ट्रक्टर बना सकते हो जिसके अंदर पब्लिक कॉम्प्लेक्शन रहेगा अगर आपने हटा भी दिया तो भी पड़ा रहेगा मेमोरी के अंदर इस कंस्ट्रक्टर के अंदर आप पास कर सकते हो लेट्स से न्यू वैल्यूज ठीक है तो ये हो जाएगा रियल और एक हो जाएगा इमेजिनरी तो रियल पार्ट और इमेजिनरी पार्ट आपने यहां पर इस कंस्ट्रक्टर के अंदर पास कर दिया और अब आप बोलोगे कि जो ए है ए की वैल्यू हो जाएगी रियल के बराबर और बी की वैल्यू हो जाएगी इमेजिनरी के बराबर कि मेरा जो नया ऑब्जेक्ट बनेगा ना उसका जो रियल पार्ट होगा वो उसके अंदर जो ए होगा उसको आप इस रियल वाली वैल्यू के साथ चेंज कर दो और जो बी है उसके अंदर वो सेम के साथ चेंज कर दो अच्छा अब यहां पर देखो न एरर मिल रहा है जवा आप बोल रहा है कि भाई आपने जो कंस्ट्रक्टर बनाया है उसके अंदर तो आपने ये पास किया हुआ है रियल और इमेजिनरी और मुझसे आप कॉल करवा रहे हो डिफॉल्ट कंस्ट्रक्टर तो ये अलाउड नहीं नहीं है यह एक बहुत इंपॉर्टेंट कांसेप्ट है कि अगर आपने डिफॉल्ट कंस्ट्रक्टर के अलावा कोई और कंस्ट्रक्टर बना दिया है जावा के अंदर तो आप उस केस में फिर डिफॉल्ट कंस्ट्रक्टर को कॉल नहीं कर सकते हो तब आप जावा से एक्सपेक्ट नहीं कर सकते कि मेरे लिए कंस्ट्रक्टर बनाओ डिफॉल्ट वाला अपने आप ठीक है जवा उस केस में नहीं करेगा ये काम ठीक है तो उस केस में आपको यहां पे यही वाला कंस्ट्रक्टर कॉल करना है ये वाला कंस्ट्रक्टर कॉल करना है तो इसके अंदर आपको दो चीजें पास करनी पड़ेगी सपोज करो मैं पहला नंबर बनाता हूं 2 प् 3 आयो तो इसके अंदर मैंने रियल पार्ट रखा टू और उसके अंदर इमेजरी पार्ट रखा थ और दूसरा बनाता हूं मैं फर और वन ठीक है तो अब अगर मैं इनको प्रिंट करूंगा तो आप देखोगे पहले वाले नंबर के लिए प्रिंट हो रहा है 2+ 3 आयो और दूसरे वाले नंबर के लिए प्रिंट हो रहा है 4 प् 1 आयो तो इस बार भी हमारा ये कंस्ट्रक्टर कॉल हुआ कंस्ट्रक्टर तो कॉल हुआ लेकिन इस बार इस कंस्ट्रक्टर ने इन वैल्यूज को भी अपडेट कर दिया ठीक है मेरे जो वेरिएबल की वैल्यूज है उनको अपडेट कर दिया तो बेसिकली जब मैंने नम वन बनाया तो मेरा कंस्ट्रक्टर कॉल हुआ ये वाला कंस्ट्रक्टर और इसने क्या किया a की वैल्यू को चेंज कर दिया ए की वैल्यू को कर दिया रियल के बराबर तो रियल आपने क्या पास किया टू तो ए की वैल्यू हो जाएगी टू यह है नम वन के केस में ठीक है कि नम वन का ए इसने कर दिया टू और नम वन का इमेजिनरी पार्ट आपने इसम पास किया थ्र ठीक है इमेजिनरी पार्ट पास अपने पास किया थ तो ब इ 3 तो इसका बी इसने कर दिया थ तो नम वन जब रिटर्न होगा तो उसके अंदर ए की वैल्यू टू होगी और बी की वैल्यू थी होगी उसके बाद जब आपने नम टू क्रिएट किया तो नम टू बनेगा तो नम टू जब बन रहा है तो सब उसको नटू का स्पेस है तो इसके अंदर भी a और इसके अंदर भी b है तो इसका a आपने सेट कर दिया फोर के बराबर और इसका जो b है वो आपने सेट कर दिया वन के बराबर तो इस तरीके से नम टू बना है तो दो अलग-अलग नंबर बने अलग-अलग मेमोरी के अंदर वो जगह ले रहे हैं और इस बार अलग-अलग वैल्यूज उनके अंदर स्टोर्ड है इसलिए जब प्रिंट करने जा रहे हैं तो नम वन डॉट प्रिंट जब कर रहे हैं तो 2 + 3 प्रिंट हो रहा है व्हिच इज हियर और जब नम टू प्रिंट कर रहे हैं तो 4+ 1 आटा प्रिंट हो रहा है आई थिंक समझ में आ रहा होगा ठीक है तो इस तरीके से हमारे कंस्ट्रक्टर्स काम करते हैं डिफॉल्ट कंस्ट्रक्टर अपने आप मिलता है अगर आप नया कंस्ट्रक्टर बनाते हो तो डिफॉल्ट कंस्ट्रक्टर उसके बाद आपके पास अवेलेबल नहीं रहता है ठीक है और इस तरीके से हम अपने वेरिएबल को अपने ऑब्जेक्ट्स को इनिश इज कर सकते हैं ठीक है इंस्टेंशिएट करते टाइम ही उनको इनिशियलिज्म मैं बता रहा हूं कि जब तुम बन रहे हो तो इस वैल्यू के साथ बनो ये बेसिकली ऐसा हो गया जैसे कि गॉड सपोज करो कुछ बना रहे हैं इंसानों को तो वो बता रहे हैं कि ये इंसान जो है ये इन प्रॉपर्टीज के साथ बनेगा ये इंसान इन प्रॉपर्टीज के साथ बनेगा ठीक है वैसे ही कुछ सीन है यहां पर कंस्ट्रक्टर बता देता है कि ये जो ऑब्जेक्ट है वो इन इन प्रॉपर्टीज के साथ बनेगा ये ऑब्जेक्ट इन इन प्रॉपर्टीज के साथ बनेगा बिहेवियर सबके अंदर सेम रहने वाला है बिकॉज बिहेवियर को आप उस टाइम पे चेंज नहीं कर सकते हो बिहेवियर तो प्रिंट वाला सभी के पास अवेलेबल है लेकिन इनके अंदर जो प्रॉपर्टीज है उनको आप चेंज कर सकते हो और वो आप इस तरीके से कंस्ट्रक्टर के अंदर चेंज कर सकते हो ठीक है तो ये था हमारा कंस्ट्रक्टर इसके अलावा डिफॉल्ट कंस्ट्रक्टर हमने समझ लिया कि डिफॉल्ट कंस्ट्रक्टर इज अ कंस्ट्रक्टर दैट इज ऑटोमेटिक क्रिएटेडॉक्युमेंट्सफ्रैगमेंट एक्सप्लीसिटली डिफाइन करोगे तो आप उसके अंदर चीजों को चेंज भी कर सकते हो अपने हिसाब से चाहो तो अ कंस्ट्रक्टर कैन नॉट बी एब्स्ट्रेक्ट और स्टैटिक और फाइनल तो यह तीनों ही कीवर्ड हमें ठीक से नहीं पता है अभी तो इसके बारे में ज्यारा बात नहीं करेंगे एब्स्ट्रेक्ट का मतलब कि बस इसका आईडिया आईडिया है और इसकी कुछ भी अपनी डेफिनेशन नहीं है तो ऐसा कंस्ट्रक्ट बना के तो कोई फायदा ही नहीं है राइट वैसे व पढ़ाऊंगा इनहेरिटेंस के अंदर सिमिलरली स्टैटिक मतलब की जो कंस्ट्रक्टर है ये क्लास का पार्ट होना चाहिए तो बेसिक नॉन ऑब्जेक्ट टाइप की चीज होनी चाहिए लेकिन कंस्ट्रक्टर का तो होल पॉइंट ही यही है कि आप उसे ऑब्जेक्ट बना सकते हो तो इसलिए स्टैटिक भी नहीं होना चाहिए और साथ में फाइनल का मतलब ये है कि अगर आपने कोई चीज बना दी है तो वो फाइनल हो गई है तो उसको आप फर्द ओवरराइड नहीं कर सकते तो अगर एक क्लास बना दी है तो उसको आप फर्द चेंज नहीं कर सकते बेसिकली उसकी कोई और सब क्लास नहीं बना सकते हो तो इसलिए कंस्ट्रक्टर के अंदर भी सेम चीज तो कंस्ट्रक्टर के आगे बस ये याद रखना है कि ना तो एब्स्ट्रेक्ट लगाना है ना स्टेटिक लगाना है फाइनल लगाना है ठीक है कंस्ट्रक्टर कैन बी ओवरलोडेड बट कैन नॉट बी ओवर रिटन ओवर रिटन का मतलब क्या होता है तो ओवर रिटन का मतलब होता है कि बेसिकली जब आपने एक क्लास की ऊपर एक्सटेंड करके दूसरी क्लास बना ली है इनहेरिटेंस में पढ़ेंगे हम वो चीज कि जब आप इन्हेरिटेंस करते हो जब आप क्लास को एक्सटेंड करते हो तो यू कैन नॉट ओवरराइड द कंस्ट्रक्टर ऑफ दैट क्लास यू कैन ओवरराइट फंक्शंस ऑफ अ क्लास बट यू कैन नॉट ओवरराइट द कंस्ट्रक्टर ऑफ अ क्लास अगर ये चीज समझ में नहीं आ रही कि भ क्या बोल ग आप ओवरराइट समझ नहीं आया टेंशन मत लो अगली क्लास को देखना उसके अंदर मैंने समझा रखा है कि इन्हेरिटेंस कैसे काम करता है और उसके हिसाब से फिर मेथड कैसे ओवरराइड होते हैं एंड देन वहां भी देख लेंगे कि कंस्ट्रक्टर ओवरराइड नहीं होते हैं कंस्ट्रक्टर कैन बी ओवरलोडेड दो ओवरलोड का मतलब कि अभी हमने देखा मेथड ओवरलोडिंग तो हमने देखी थी अभी राइट कि आप अलग-अलग ग्रेडिंग्स बना पा रहे थे सिमिलरली आप अलग-अलग कॉम्प्लेक्शन पार्ट पास नहीं कर रहा वो तो मैं एक की वैल्यू को रख दूंगा लेट्स से रियल और बी को कर दूंगा लेट्स से जीरो नहीं कर रहा बी को मैं कर दूंगा 12 ठीक है ऐसा कर सकता हूं मैं तो यहां पर क्या किया मैंने मैंने एक और कॉम्प्लेक्शन नहीं कंस्ट्रक्टर बनाया ठीक है कंस्ट्रक्टर का नाम तो सेम ही रहेगा क्लास के नाम के बराबर होगा लेकिन इस बार ये कंस्ट्रक्टर की ओवरलोडिंग हो रही है आप देखो यहां पर भी कंस्ट्रक्टर बना हुआ है यहां भी कंस्ट्रक्टर बना हुआ है लेकिन इसके अंदर एक ही पैरामीटर पास्ड है इसके अंदर दो पैरामीटर पास्ड है और जब आपि एक पैरामीटर पास करोगे सपोज करो आपने सिर्फ एक पास किया सिर्फ टू पास कर रहे हो और इमेजिनरी वाला पार्ट नहीं पास कर रहे हो तो आपको समझ में आ रहा होगा ये नम वन जो है वो इस वाले कंस्ट्रक्टर को इवोक करेगा आप कमांड होल्ड करके इस पर क्लिक करोगे तो आप देखोगे ये इस वाले कंस्ट्रक्टर प लेके जा रहा है और इस बार जो b की वैल्यू है वो 12 हो जाने वाली है तो यहां पर प्रिंट होगा 2+ 12 आयो नम वन जो है उसके अंदर 12 आ गया ये 12 कहां सा आ है क् ये 12 इसलिए आ है क्योंकि यहां पे आपने ये वाला कंस्ट्रक्टर हिट किया है जो कि ब की वैल्यू को ऐसे सेट कर दे रहा है ठीक है तो कंस्ट्रक्टर को आप ओवरलोड भी कर सकते हो तो आई थिंक कंस्ट्रक्टर भी हमें समझ में आ गए होंगे बेसिकली कंस्ट्रक्टर्स आर यूज्ड टू इंस्टेंशिएट एंड टू इनिश इज द ऑब्जेक्ट्स क्रिएट करते टाइम ही ठीक है अब अगली चीज समझ लेते हैं व्हिच इज कॉल्ड द दिस कीवर्ड दिस कीवर्ड भी बहुत इंपोर्टेंट होता है जावा के अंदर मोस्टली यह अंबिग्विटी रिमूव करने के काम में आता है लेकिन इसके अलावा कुछ कुछ और भी काम होते हैं इसके जैसे कि अगर आपको सेम क्लास का कोई कंस्ट्रक्टर इवोक करना है तो तब भी आप लोग दिस यूज कर सकते हैं या फिर सेम क्लास के अंदर कोई और मेथड इवोक करना है तो भी आप लोग वहां पर दिस यूज कर सकते हो ये क्या बोल ग भैया समझ में नहीं आया तो अब जरा समझते हैं कि इन जावा दिस कीवर्ड इज यूज टू रिफर टू द करंट ऑब्जेक्ट इनसाइड अ मेथड और कंस्ट्रक्टर तो किसी भी मेथड के अंदर हो आप उस मेथड के अंदर रह के अगर आपको उस ऑब्जेक्ट को इवोक करना है जिसने इस मेथड को कॉल किया है तो उस केस में आप दिस यूज कर सकते हो क्या बोला आपने तो मैं बताता हूं कि अगर सपोज करो मैं यहां पर प्रिंट है ठीक है एक काम करते है प्रिंट के अलावा यहां पे एक और मेथड बनाता हूं मैं और अब मैं बताता हूं आपको कि सपोज करो मैंने ऐड बनाया जो कि लेता है कॉम्प्लेक्शन और फिर ये इंट रिटर्न नहीं करता ये कॉम्प्लेक्शन करता है ठीक है तो ये एक ऐसा फंक्शन है जो कि एक कॉम्प्लेक्टेड कर देता है न्यूली क्रिएटेडॉक्युमेंट्सफ्रैगमेंट नंबर इक्वल टू न्यू [संगीत] कॉम्प्लेक्शन पार्ट हो जाएगा बी प्लस नम टड बी एंड देन रिटर्न कर दूंगा मैं इस न्यू नंबर को और अब मैं चाहूं तो इस न्यू नंबर को वसे य पर एक सिंगल लाइन में लिख सकता हूं इनलाइन वेरिएबल रिटर्न कर दो एक न्यू कॉम्प्लेक्शन पार्ट है वो यह होगा बी प्स नटू प् बी और रियल पार्ट होगा ए प् नट ड जरा इसको इवोक करके देखते हैं तो मैंने य पर दो नंबर बनाए हैं नम वन नवन के अंदर काम करता है यहां पर 2 प्लस 4 यह रखते हैं ठीक है 2 प् 4 आयो और 4 प्व आयो इन दोनों को प्रिंट कर लिया चलो अच्छी बात है अब एक काम करते दोनों को ऐड भी करते हैं तो डिंग टू नम्स और और नम वन डॉट ड इसके अंदर पास करूंगा मैं नम टू तो य पर करके आ रहा हूं मैं नंबर वन के अंदर ऐड कर रहा हूं नंबर टू को और जो रिजल्ट आ रहा है उसको एक नए हो चुके होंगे दोनों के दोनों लेट्स सी तो 2 प् 4 आयो और 4+ 1 आयो को जब आप ऐड करोगे तो रियल वाले पार्ट अलग ऐड होंगे ठीक है तो टू और फोर अलग ऐड हो रहे हैं और इमेजिनरी वाले पार्ट अलग ऐड हो रहे हैं और हमारा यहां पर काम हो गया है और लेकिन भैया इसके अंदर दिस तो आपने तब भी नहीं समझाया मैं बोलूंगा दिस नहीं समझाया लेकिन तब भी आप लोगों ने एक नया कांसेप्ट सीखा होगा कि आप इस तरीके से रिटर्न भी कर सकते हो इसको क्योंकि ये तो है तो डेटा टाइप ही ना नॉन प्रिमिटिव डेटा टाइप ही तो है तो इसको आप नॉन प्रिमिटिव डेटा टाइप की तरह ट्रीट कर सकते हो तो आप इसे रिटर्न कर सकते हो आप इसको चाहे तो एज अ पैरामीटर भी इनपुट ले सकते हो आपने यहां पर क्या किया नम वन जो था 2+ 4 आयो इसके अंदर आपने ऐड वाला फंक्शन कॉल कराया और पास किया इसके अंदर नम टू ठीक है व्हिच वाज 4+ 1 आयो तो हम कर क्या रहे हैं एक नया कॉम्प्लेक्शन पार्ट के अंदर क्या जा रहा है पिछले नंबर का फोर और नए नंबर का वन 4 प्व 5 इन दोनों को ऐड करके वो रियल पार्ट बन जा इमेजिनरी पार्ट बन रहा है इसलिए जो नया नंबर है वो है 6 प् 5 आयो इसलिए जो यहां पर रिजल्ट है उसके अंदर आपका 6 प् 5 आयो प्रिंट हो रहा है अब जरा दिस को समझ लेते हैं दिस का काम क्या होता है तो दिस का काम होता है बेसिकली सबसे पहले तो एटी रिमूव करने के लिए तो वो कैसे काम होता है तो बताता हूं सपोज करो यहां आपको रियल और इमेजिनरी इस तरीके से लिखना था इसके अंदर आप सपोज करना लिखना चाहते थे ए और बी लेकिन अब यहां पर ए हटाना पड़े और यहां पर बी लिखना पड़ेगा राइट आप यहां पर ए और बी लिखना चाहते थे मैं बोलूंगा हां ए और बी लिख सकते हो क्योंकि ये तो इस स्कोप की बात है राइट इस स्कोप के अंदर यह जो स्कोप है जो यहां से स्टार्ट होके यहां पर खत्म हो रहा है दिस इज द स्कोप यह ए और बी इस स्कोप के अंदर रहेगा लेकिन व्हाट अबाउट दिस ए एंड बी यहां पर भी ए और बी रखा है नाम आपने यहां पर भी ए और बी नाम रखा है तो जब आपको तो कंफ्यूजन हो जाएगी ना कि यहां पर ये a इ ए और बी इ बी का मतलब क्या है यहां पर अगर आप कमांड पर क्लिक करके इस पर जाओगे तो ये इस ए का मतलब यह वाला ए है सिमिलरली कमांड पर क्लिक करके य पर क्लिक करोगे तो अगेन ए का मतलब यह वाला ए है तो इस वाले ए को मैं कैसे एक्सेस करूं मतलब की करंट ऑब्जेक्ट के ए को मैं कैसे एक्सेस करूं तो अगर आपको करंट ऑब्जेक्ट की चीजों को एक्सेस करना है तो उसके लिए आपको दिस कीवर्ड यूज करना पड़ेगा दोबारा बोल रहा हूं करंट ऑब्जेक्ट की चीजों को एक्सेस करना है मतलब करंट ऑब्जेक्ट के पैरामीटर्स को या फिर करंट ऑब्जेक्ट के बिहेवियर को एक्सेस करना है तो आपको दिस कीवर्ड यूज करना पड़ेगा ठीक है अभी फिलहाल तो आपने ए और बी जो डिफाइन करा है वो इस के अंदर इसको ऐसा रहा है कि ये मेरे इसी ए की बात हो रही है इसी बी की बात हो रही है देखो ये यहीं पहुंच जा रहा है इस पर भी क्लिक करूंगा यहीं पहुंच जाएगा ये तो यहां पे आपको करना होगा दिस दिस इज द कीवर्ड ठीक है दिस डॉट ए स दिस डॉट ए का मतलब है कि करंट ऑब्जेक्ट का ए जो है उसकी वैल्यू कर दो इस a के बराबर और करंट ऑब्जेक्ट का जो बी है उसकी वैल्यू कर दो इस बी के बराबर तो इस तरीके से आपने एमग रिमूव कर दी ठीक है अब जावा को पता है कि a लेफ्ट वाले a का मतलब क्या और राइट वाले a का मतलब क्या है ठीक है अब मैं अगर अगर यहां पर क्लिक करूंगा तो ये ऊपर वाले ए पे लेके जाएगा देखो और अगर मैं नीचे क्लिक करूंगा तो ये ऊपर वाले बी पे लेके जाएगा बिकॉज ये जो ए है ये दिस का ए है मतलब करंट ऑब्जेक्ट का ए है वहीं पर ये वाला जो ए है ये तो यार जो पैरामीटर पास किया आपने वो है ठीक है इस तरीके से तो दिस यहां पे काम में आया हमारे एमगी रिमूव करने के लिए लेकिन सिर्फ यही काम नहीं होता इसका आप चाहो तो इससे एक पहले तो इसको मैं रन करके दिखाता हूं ठीक है अभी भी वैसे ही काम करेगा ये जैसे इसको काम करना चाहिए ठीक है अब बस आपने क्या किया यहां पर फर्स्ट नंबर और सेकंड नंबर की जगह ए और बी लिख दिया वेरी गुड अगले यहां पर लिखा हुआ है वी कैन आल्सो यूज दिस टू इवोक मेथड ऑफ द करंट क्लास तो मतलब बेसिकली आप करंट क्लास का मेथड भी इवोक कर सकते हो जैसे कि सपोज करो हमारे पास एक मेथड है ऐड और दूसरा मेथड है प्रिंट अब मैं चाहता हूं कि ऐड मेथड से प्रिंट मेथड को मुझे कॉल करना है तो आप या तो सीधा लिख दो प्रिंट ठीक है यह भी काम करेगा ये क्या करेगा करंट ऑब्जेक्ट को जिसके ऊपर आपने ऐड मेथड कॉल किया है बेसिकली हमारे केस में नम वन के ऊपर हमने मेथड कॉल किया है तो हमारे केस में नम वन का प्रिंट कॉल कर देगा य अपने आप पे ठीक है तो नम वन हमारा प्रिंट होने वाला है जरा देखते हैं तो हां नम वन हमारा यहां पर प्रिंट हुआ है बहुत बढ़िया बात है लेकिन आप चाहो तो इसको ऐसे भी कर सकते हो दिस डॉट प्रिंट तो यहां पर कोई आपको वो नहीं होगी अब एमगी नियमन में कि मैं किस चीज का प्रिंट मैंने कॉल किया नम वन का प्रिंट कॉल किया या नम टू का प्रिंट कॉल किया है आपको कोई कंफ्यूजन नहीं होनी चाहिए अब तो यहां पर क्या हो रहा है यहां पर आप करंट ऑब्जेक्ट का प्रिंट कॉल कर रहे हो कभी आपको नम टू का प्रिंट कॉल करना है तो वो भी आप कर सकते हो नम टड प्रिंट राइट वो भी काम करेगा यहां पर आपने नम टू का प्रिंट कॉल किया है यहां पर आपने नम वन का प्रिंट कॉल किया है जो दिस है ना दिस के अंदर हमेशा करंट ऑब्जेक्ट का रेफरेंस स्टोर होता है आप चला के देख लो और मैं एक चीज अभी आपको और दिखाऊंगा वैसे तो कि कैसे मैं कह रहा हूं कि दिस के अंदर करंट ऑब्जेक्ट का रेफरेंस स्टोर होता है कि जब आपने इसको रिजल्ट को कॉल किया तो आपने क्या है नवन डट ड नम टू राइट अगर मैं यहां पर इस नम वन को प्रिंट कराऊ सपोज करो मैंने नम वन को प्रिंट कराया तो नम वन को जब मैं प्रिंट करा रहा हू ना तो ऑब्जेक्ट प्रिंट नहीं होगा ऑब्जेक्ट का जो रेफरेंस होता है वो प्रिंट होगा और मैं एक काम करता हूं इस फंक्शन के अंदर मैं दिस को भी प्रिंट कराता हूं एस आउट दिस तो यहां पे मैंने दिस को प्रिंट कराया है और यहां पर मैंने नम वन को प्रिंट कराया और मैं कह रहा हूं कि दोनों के दोनों सेम है जरा देखते हैं तो आप देखोगे हां दोनों के दोनों सेम है तो जब आप किसी ऑब्जेक्ट को प्रिंट कराते हो ना तो उस केस में होता क्या है ऐसे कुछ प्रिंटिंग होती है कि पहले तो वो ऑब्जेक्ट का जो भी पैकेज है तो ऑब्जेक्ट का पैकेज ये है डॉट क्लास नेम रेट रेफरेंस बेसिकली य बता रहा है कि यह ऑब्जेक्ट हर ऑब्जेक्ट का एक अपना खुद का रेफरेंस होता है क्योंकि ऑब्जेक्ट अलग-अलग होते हैं तो हर ऑब्जेक्ट का एक यूनिक आइडेंटिफिकेशन नव हमें समझ में आ रहा होगा कि दोनों सेम चीजें है जो आपने किया दिस डॉट प्रिंट तो उस टाइम पर नव डॉट प्रिंट हुआ है अच्छा एक बात और बताओ अगर मैं यहां पर करता हूं नटू डॉट ड नम व तब भी दोनों सेम होंगे क्या तब भी दोनों सेम प्रिंट होने वाले हैं क्या समझ में आ रहा हो कि भैया नहीं आप सेम प्रिंट नहीं होंगे क्योंकि नम वन अलग है और जब आपने नम टू डॉट ऐड किया है तो अब क्या होगा नम टू का रेफरेंस प्रिंट होने वाला है ठीक है तो दोनों दोनों आप देखोगे अलग-अलग होंगे तो पहला जो प्रिंट हुआ है च इज नम टू का रेफरेंस ठीक है ये नम टू का रेफरेंस है उसके बाद आपने नम वन का रेफरेंस प्रिंट कराया और यह दोनों दोनों चेंज होते रहेंगे हर बार जितनी बार आप कॉल करोगे उतनी बार ये चेंज उतरेंगे ठीक है अभी तो फिलहाल सेम लग रहे हैं लेकिन आप मल्टीपल टाइम रन करोगे तो ये हो सकता है अलग-अलग होते रहे मेमोरी के अंदर बेसिकली अलग-अलग रेफरेंस ले सकते हैं तो यह था आपका बेसिकली दिस कीवर्ड समझ में आ गया होगा हमें कि दिस कीवर्ड करके आ रहा है दिस कीवर्ड बेसिकली करंट ऑब्जेक्ट को जिसको आपने कॉल किया है सपोज करो आपने किया दिस डॉट ऐड को कॉल किया राइट तो जिस चीज ने ऐड फंक्शन को कॉल किया है दिस बेसिकली उस ऑब्जेक्ट का रेफरेंस है तो ये बेसिकली दिस होता है लेकिन अभी भी अगर दिस के अंदर कोई भी डाउट है तो आप हमसे पूछ लेना और इसके बाद हम बात करेंगे उप्स के चार मेन पिलर्स के बारे में सबसे पहले हम स्टार्ट करेंगे इन्हेरिटेंस के साथ उसके अलावा हमारे पास होते हैं एनकैप्सूलेशन एब्स्ट्रैक्ट्स एब्स्ट्रेक्शन एनकैप्सूलेशन और पॉलीमोर्फस जम ये चारों के चारों हम पढ़ने वाले एकएक करके तो आज हमने बेसिक ऑफ ऊप समझाया ये सार स चीजें हम पढ़ेंगे अगली क्लास के अंदर तो तब तक के लिए चलते हैं बा बाय हे वट्स अप गाइस आज हम उप्स के अंदर थोड़ा और आगे बढ़ेंगे और जानेंगे इन्हेरिटेंस को ऊप्स के बेसिकली चार मेन पिलर होते हैं इन्हेरिटेंस उसके अंदर से सबसे इंपॉर्टेंट और सबसे बड़ा एक पिलर जिसे हम कहेंगे बहुत इंपॉर्टेंट इसलिए क्योंकि ऊप्स की हेल्प से आप लोग जावा के अंदर कोड को यूज कर सकते हो और कैसे अचीव करते हैं इन्हेरिटेंस केल्प से वो आज समझने वाले हैं ठीक है तो जावा इनहेरिटेंस को समझेंगे इसके अलावा मेथड ओवरराइडिंग जो कि इसी का पार्ट है एक वो भी समझेंगे एंड देन सुपर और दिस कीवर्ड के बारे में समझेंगे अ दिस कीवर्ड को हम ऑलरेडी देख चुके हैं लेकिन इन दोनों के बीच में क्या डिफरेंस होता है और कैसे सिमिलर है ये दोनों ये भी समझेंगे एंड देन एक फाइनल कीवर्ड होता है ये भी इंपॉर्टेंट होता है ये भी समझेंगे ठीक है तो जावा इन्हेरिटेंस आज बेसिकली समझने वाले हैं और ये सारे सारे यहीं पे कहीं ना कहीं यूज़ हो रहे होंगे कीवर्ड्स तो ये भी हम समझ जाएंगे धीरे-धीरे करके तो सबसे पहले तो जावा इन्हेरिटेंस इन्हेरिटेंस का मतलब क्या होता है इन्हेरिटेंस हमें पता है बेसिक अगर आप इंग्लिश में समझो तो इन्हेरिटेंस जैसे ग्रैंडफादर की कोई चीज पापा ने फादर ने इन्हेरिटेंस इन्हेरिटेंस सेम चीज यहां पर भी है कि एक क्लास अपनी कुछ प्रॉपर्टीज को अपनी सब क्लासेस को ठीक है पेरेंट चाइल्ड रिलेशनशिप होता है यहां पे भी क्लास और सबक्लास के बीच में तो बेसिकली एक क्लास अपनी कुछ प्रॉपर्टीज और कुछ बिहेवियर को अपनी सब क्लासेस को इन्हेरिटेंस दोबारा से खरीदने की जरूरत नहीं पड़ी मतलब दोबारा से खुद के लिए बनानी नहीं पड़ी ये सारी चीजें ऑलरेडी बस आप रीयूज कर पा रहे हो उनका ठीक है तो सिमिलरली अगर आपको कोड रीयूज करना है कई-कई जगहों पे अभी हम मैं दिखाऊंगा आपको कुछ एग्जांपल से कि कहां पर ये बहुत ज्यादा सेंस बनाता है कहां पर ऐसा लगना चाहिए आपको कि हां यार यहां पर अगर मैं खुद से बनाने बैठता ये सारी प्रॉपर्टीज ये सारे बिहेवियर तो बहुत टाइम लग जाता मुझे ठीक है और कोड मेरा यूज नहीं हो पाता तो कैसे हमारी कोड यूज बिलिटी को बढ़ाता है इन्हेरिटेंस जरा ये समझते हैं सबसे पहले तो यहां पर लिखा हुआ है इन्हेरिटेंस इज वन ऑफ द की फीचर्स ऑफ पप दैट अलाउ अस टू क्रिएट अ न्यू क्लास फ्रॉम द एस्टिंग क्लास तो बेसिकली एक एजिस्टिफाई अ द न्यू क्लास दैट इज क्रिएटेड्रॉअर्नेविगेटर नाम है सुपर क्लास बोलो पेरेंट क्लास बोलो या बेस क्लास बोलो तो यहां पर अगर आप देखोगे तो ये क्लास बी है यह क्लास ए है हम इसको बोलेंगे कि ये जो है ये पेरेंट है और यह चाइल्ड है ठीक है तो मैंने क्लास ए बनाई और इसके पास कुछ कुछ प्रॉपर्टीज होंगी क्योंकि क्लास के पास कुछ प्रॉपर्टीज होती है कुछ बिहेवियर होता है तो वो प्रॉपर्टीज और बिहेवियर ये क्लास बी जो है ये इन्हेरिटेंस है तो ये रिलेशन लाने के लिए क्या करना पड़ता है रिलेशन लाने के लिए हमें एक्सटेंड कीवर्ड यूज करना पड़ता करता है ठीक है एक्सटेंड्स कीवर्ड तो आप जब कोई चाइल्ड क्लास बनाओगे तो आप बता सकते हो कि क्लास चाइल्ड एक्सटेंड्स पेरेंट ठीक है तो उससे पेरेंट की चीजें हमारे चाइल्ड के अंदर अपने आप आ जाएंगी तो इसको जरा एग्जांपल से समझते हैं अगर आपके ऐसे ये ऊपर से जा रहा है तो एग्जांपल से बहुत ज्यादा क्लियर होने वाला है तो मैं यहां पे आऊंगा उप्स टू के अंदर लेट्स क्रिएट अ पैकेज या फिर एक फाइल बनाते है सीधा यहां पे तो यहां पर मैंने क्लास बना ली व्हीकल नाम से ठीक है तो ये मेरा व्हीकल क्लास है और इसके अलावा मैं यहां पे एक और क्लास बना लूंगा एंड लेट्स नेम दिस क्लास एस कार तो यह आप एक पैकेज के अंदर आपने दो क्लास अलग-अलग बना लिए उससे कुछ फर्क नहीं पड़ेगा हम जाते हैं व्हीकल क्लास के अंदर और इसके अंदर हम कुछ कुछ प्रॉपर्टीज और कुछ कुछ बिहेवियर डिफाइन कर देते हैं सपोज करो मैंने बनाया एक इंट अ व्हील्स व्हील्स काउंट ठीक है तो यह एक इसके अंदर प्रॉपर्टी हो गई इसके अलावा सपोज करो मैं एक बिहेवियर बनाता हूं कि वॉइड स्टार्ट तो व्हीकल आपका स्टार्ट हो सकता है और व्हीकल के अंदर एक प्रॉपर्टी हो सकती है कि उस व्हीकल के अंदर कितने व्हील्स है राइट तो अगर वल व्हीकल हमारा स्टार्ट होगा तो ये हो जाएगा व्हीकल इज स्टार्टिंग ल राइट तो यह बेसिकली मेरी कुछ प्रॉपर्टी और बिहेवियर था मेरे व्हीकल क्लास के अंदर अब मैं बनाऊंगा एक कार क्लास ठीक है तो ये मैंने पब्लिक क्लास कार बना ली है लेकिन अब इस क्लास के अंदर अगर मुझे चाहिए व्हीकल की प्रॉपर्टीज और बिहेवियर तो उसके लिए मुझे कार को बताना पड़े कि कार का जो पेरेंट है वह है व्हीकल तो इसके लिए होगा कार एक्सटेंड्स व्हीकल तो अब क्या हो रहा है कि कार क्लास जो है यह हमने बना दिया व्हीकल क्लास की हेल्प से ठीक है तो व्हीकल क्लास के अंदर जो भी प्रॉपर्टीज और बिहेवियर थी वो अब अ कार क्लास के पास भी अवेलेबल है तो ये बिल्कुल वैसे ही हो गया कि सपोज करो ये व्हीकल क्लास तो ग्रैंड पेरेंट है और यह जो है वो पेरेंट है ठीक है तो अ ग्रैंड पेरेंट से कुछ चीजें अ पेरेंट ने ऐसे इन्हेरिटेंस कार क्लास का एक ऑब्जेक्ट बनाता हूं ठीक है तो उसके लिए मैं बनाऊंगा पब्लिक स्टैटिक वॉइड मेन क्योंकि इसको रन भी करना पड़ेगा राइट ऐसे तो इसके अंदर मैं बनाऊंगा कार ऑब्जेक्ट इक्व ट न्यू कार तो ये मैंने इसी कार क्लास का ऑब्जेक्ट बना दिया यहां पर अब अगर मैं यहां पर करता हूं ऑब्जेक्ट डॉट तो आप देखो व्हील्स काउंट और स्टार्ट यह दो चीजें इसके अंदर अवेलेबल है और यह कहां से आ रही है अगर आप इस पर क्लिक करोगे और यहां पर क्लिक करोगे तो आप देखोगे कि ये यहां पर लेके जाएगा आपको ठीक है यह मैंने कैसे क्लिक किया मैंने कमांड या कंट्रोल दबा के इस पर क्लिक किया तो यह मुझे व्हीकल के अंदर ले जा रहा है कि व्हीकल के अंदर आपने व्ल्स काउंट डिफाइन कर रखा है लेकिन स्टिल ये मेरे पास अवेलेबल है बिकॉज कार ने एक्सटेंड किया हुआ है को अगर कार ने एक्सटेंड नहीं किया होगा व्हीकल को पहले तो यहां पर इसकी वैल्यू को सेट कर देते हैं लेट्स से कि मैं बोल रहा हूं कि इस कार के अंदर वल्स चार इस तरीके से और ऑब्जेक्ट डॉट स्टार्ट ऐसे भी कर देता हूं तो अभी तो कुछ एरर नहीं है लेकिन अगर मैं कार एक्सटेंड व्हीकल यह हटाऊ तो अब यह यहां पर देखो एरर दे रहा है मुझे ये बोल रहा कि व्ल्स काउंट और स्टार्ट यह सब कहां पर डिफाइन किया ये तो हमें दिख नहीं रहा है तो पहले अब पहले क्या था पहले आपने एक्सटेंड कर रखा था व्हीकल को राइट तो व्हीकल को एक्सटेंड करने का मतलब कि व्हीकल के अंदर जो भी प्रॉपर्टीज है वो आपने इन्हेरिटेंस भी और बिहेवियर भी ठीक है तो इस तरीके से आप एक्सटेंड की हेल्प से कुछ प्रॉपर्टीज और बिहेवियर्स को एक्सटेंड करा सकते हो दूसरी क्लासेस के अंदर और अब हमें दिख रहा है कि कार क्लासेस के जितने भी ऑब्जेक्ट आप बनाओगे उनके अंदर आपको बार-बार व्हील्स काउंट डिफाइन करने की जरूरत नहीं है और ऐसे स्टार्ट फंक्शन डिफाइन करने की जरूरत नहीं है बिकॉज़ ये तो ऑलरेडी इस व्हीकल से इसको मिल ही जाएंगे सिमिलरली आप चाहो तो यहां पे एक और बना दो स्ट्रिंग मॉडल राइट कि मॉडल कौन सा है इसका और यहां पर आप डिफाइन कर सकते हो ऑब्जेक्ट डॉट मॉडल इक्वल्स टू लेट्स से i10 तो अगर आप इसे यहां पर रन करोगे तो आप देखोगे व्हीकल इज स्टार्टिंग प्रिंट हो रहा है ये व्हीकल इ स्टार्टिंग क्यों प्रिंट हुआ क्योंकि आपने ऑब्जेक्ट डॉट स्टार्ट ने क्या किया इसने कार क्लास का ऑब्जेक्ट बनाया और स्टार्ट फंक्शन कौन सा कॉल हो रहा है स्टार्ट फंक्शन ये वाला कॉल हो रहा है जो आपने यहां पर व्हीकल के अंदर बनाया है ठीक है तो ये था बहुत ही बेसिक ऑफ इन्हेरिटेंस समझ में आया होगा कि कैसे इन्हेरिटेंस काम कर रहा है आप किस तरीके से एक क्लास के अंदर वो सारी सारी प्रॉपर्टीज और बिहेवियर लेके आ जा रहे हो जो कि इसके अंदर है भी नहीं जस्ट बिकॉज़ यू आर एक्सटेंडिंग टू दैट क्लास तो बस यही सिंपल सा लॉजिक होता है और यही यहां पर बताने का ट्राई किया गया है कि ये चाइल्ड है ये पेरेंट है और यहां पर कुछ ऐसा रिलेशन होगा कि क्लास बी एक्सटेंड्स क्लास ए तो एक्सटेंड्स कर रहा है क्लास ए को तो क्लास के अंदर जो भी चीजें होंगी वो क्लास बी के अंदर अपने आप ही बाय डिफॉल्ट आ जाएंगी दिस इज कॉल्ड जावा इन्हेरिटेंस अ तो इसके बाद एक अगला कांसेप्ट होता है इसके अंदर व्हिच इज कॉल्ड मेथड ओवरराइडिंग अभी जावा इनहेरिटेंस के अंदर हम अभी काफी और चीजें भी देखेंगे वन ऑफ व्हि इज कॉल्ड मेथड ओवरराइडिंग तो मेथड ओवरराइडिंग क्या होता है कि इफ अ सब क्लास प्रोवाइड्स अ स्पेसिफिक इंप्लीमेंटेशन ऑफ अ मेथड दैट हैज बीन डिक्लेयर्ड बाय वन ऑफ इट्स पेरेंट क्लास इट इज नोन एज मैथ ओवरराइडिंग तो इसका मतलब ये है कि अगर कोई फंक्शन ऑलरेडी या फिर कोई मेथड ऑलरेडी पेरेंट क्लास ने बना दिया जैसे यहां पर देखो ये स्टार्ट मेथड ऑलरेडी पेरेंट ने बना दिया है और अगर यही सेम मेथड चिल्ड्रन क्लास ने भी बना दिया अपने अंदर तो वो हो गया मेथड ओवरराइडिंग कि आपकी चाइल्ड ने पेरेंट की चीजों को ओवरराइड कर दिया फॉर एग्जांपल यहां पे मैं एक और वॉइड स्टार्ट बना देता हूं ठीक है इस तरीके से तो मैं सेम फंक्शन इस वाली क्लास के अंदर भी बना सकता हूं राइट बिकॉज कार क्लास के पास भी स्टार्ट फंक्शन हो सकता है और यहां पर मैं इसका अलग बिहेवियर डिफाइन कर सकता हूं चच इज लेट्स से अ कार इज स्टार्टिंग तो अब आप देखोगे अब अगर मैं रन करूंगा तो व्हीकल स्टार्टिंग प्रिंट नहीं होगा अब प्रिंट होगा कार स्टार्टिंग देखते हैं हां सही बात है कार स्टार्टिंग प्रिंट हो रहा है तो पहले तो व्हीकल स्टार्टिंग प्रिंट हो रहा था तो पहले वो इसलिए उठता बिकॉज पहले वो पेरेंट की इंप्लीमेंटेशन को उठा रहा था लेकिन अब क्या हुआ है अब चाइल्ड ने खुद की इंप्लीमेंटेशन दे दी है चाइल्ड ने बोल दिया कि सुनो भाई ये मेरी इंप्लीमेंटेशन है मैं अपने पेरेंट की चीजों को ओवरराइड कर रहा हूं पेरेंट ने जिस तरीके से चलना सिखाया था मैं वैसे नहीं चल रहा मैं अलग तरीके से चलना चाहता हूं ठीक है मेरी खुद की भी इंप्लीमेंटेशन है कुछ तो वो इस तरीके से अपनी खुद की इंप्लीमेंटेशन बता सकता है तो ये तो हो गया बेसिकली एक पेरेंट का एक चाइल्ड लेकिन ऐसा नहीं होता ठीक है जावा के अंदर हो सकता है कि आप लोग चाहो तो मल्टीपल सॉरी मल्टी लेवल इन्हेरिटेंस कर सकते हो बेसिकली मैं क्या कहना चाहता हूं कि सपोज करो ये क्लास ए है और इस क्लास को इन्हेरिटेंस बी और सपोज करो क्लास बी को रिट कर रहा है क्लास सी इस तरीके से तो कोई चीज अगर आपने ए के अंदर डिफाइन किया सपोज करो ए क्लास के अंदर आपने एक स्टार्ट मेथड डिफाइन किया इस तरीके से और यहां पर बेसिकली फंडा क्या होगा कि क्लास बी एक्सटेंड्स ए और क्लास सी एक्सटेंड्स बी ऐसा कुछ होगा आप चाहो तो ऐसा कुछ भी कर सकते हो कि क्लास डी बना दिया आपने और क्लास डी एक्सटेंड्स ए यह भी हो सकता है क्योंकि एक पेरेंट क्लास के मल्टीपल चाइड क्लास हो सकते हैं तो ऑल दीज आर सपोर्टेड यहां पर देख लो दो टाइप की इन्हेरिटेंस हो रही है पहली इस जगह जो हो रही है वो है मल्टी लेवल इन्हेरिटेंस और यहां पर जो हो रही है वो ये है कि एक क्लास को हार्ल इनहेरिटेंस कहते हैं इसको बेसिकली एक क्लास के दो चाइल्ड क्लास हो सकते हैं बड़े इजली लेकिन ऐसी इन्हेरिटेंस अलाउड नहीं है जावा के अंदर जहां पर आप दो क्लासेस बना दिया आपने सपोज करो एल एम और एन तो आप दो क्लासेस से इहेड इन्हेरिटेंस अंदर कि एल और एम दो क्लास है तो ए एक्सटेंड्स एल एंड ए ए एक्सटेंड्स ए ये अलाउड नहीं है ठीक है तो दिस इज नॉट अलाउड वाइल दिस टू थिंग्स आर अलाउड इन जावा तो अगर आपने स्टार्ट मेथड यहां बनाया फिर आपने एक स्टार्ट मेथड सपोज करो यहां पर ओवरराइड कर दिया और सिमिलरली फिर आपने एक स्टार्ट मेथड यहां पर ओवरराइड कर दिया और उसके बाद जब आपने सी का ऑब्जेक्ट बनाया सपोज करो सी ऑब्जेक्ट इ न्यू सी इस तरीके से जो आपने सी क्लास ऑब्जेक्ट बनाया तब आप ऑब्जेक्ट डॉट स्टार्ट जब करोगे तो पहले जावा ढूंढेगा कि सबसे पहली वाली क्लास व्हिच इज सी क्लास इसके अंदर कोई स्टार्ट मेथड है क्या अगर जावा को मिल गया ये वाला स्टार्ट मेथड तो जावा इसी वाले स्टार्ट मेथड को रन कर देगा लेकिन हो सकता है आपने यहां पर स्टार्ट मेथड ना बनाया हो ठीक है आप ऐसा कर सकते हो राइट आप आपने कहा ऑब्जेक्ट डॉट स्टार्ट तो जवा बोलेगा ठीक है ये ऑब्जेक्ट किस क्लास का है ऑब्जेक्ट देखेगा कि ऑब्जेक्ट तो सी क्लास का है ठीक है तो सी क्लास का अंदर स्टार्ट मेथड है जवा आप बोलेगा नहीं सी क्लास के अंदर स्टार्ट मेथड नहीं है तो ये जाएगा इसके इमीडिएट पेरेंट क्लास के पास और और इमीडिएट पेरिट सिर्फ एक ही हो सकता है बिकॉज ये अलाउड नहीं है ठीक है तो इमीडिएट पेरिट सिर्फ एक ही हो सकता है अगर होगा तो तो इसको मिलता है कि हां यार c तो एक्सटेंड कर रहा है बी को तो b के अंदर ढूंढेगा क्या b के अंदर स्टार्ट फंक्शन है क्या अगर b के अंदर भी स्टार्ट फंक्शन नहीं मिला तो वो फिर और ऊपर जाएगा और ऊपर मिलेगा उसे a क्लास फिर वो a क्लास के अंदर ढूंढेगा स्टार्ट फंक्शन है क्या तो इस तरीके से ये ऊपर जाता रहेगा और जैसे ही उसको मिल जाएगा कोई कोई भी फंक्शन जो कि इस क्राइटेरिया को फुलफिल कर रहा है नीचे से ऊपर जाते टाइम उसी फंक्शन की इंप्लीमेंटेशन को प्रिंट कर दे जाएगा यहां पे आई थिंक ये बात क्लियर हो रही है कि अगर आप सी से चलना स्टार्ट करते हो और अगर बी प आपको स्टार्ट मेथड मिल गया तो फिर बी वाला स्टार्ट मेथड रन होगा ना कि ए वाला स्टार्ट मेथड और अगर सी से स्टार्ट किया और आपने को सी वाले ही स्टार्ट मेथड मिल गया सी के अंदर आपने कोई स्टार्ट मेथड बना रखा है तो सी वाला स्टार्ट मेथड ही रन हो जाएगा बी वाला नहीं रन होगा उस केस में ठीक है तो इस तरीके से आप मेथड ओवरराइडिंग कर रहे होते हैं और इस तरीके से आपकी मेथड कॉल हो रहे होते हैं दिस थिंग इज आल्सो कॉल्ड अ इनहेरिटेंस चेनिंग ठीक है आप यहां पर बेसिकली चेनिंग कर रहे हो और सी के पास बी बी के पास ए ऐसी चेनिंग चलती रहती है और सबसे ऊपर जो क्लास होती है ना यहां पे मतलब a के ऊपर भी एक क्लास होगी और वैसे हर क्लास के ऊपर एक क्लास होती है व्हिच इज़ कॉल्ड ऑब्जेक्ट क्लास ऑब्जेक्ट की क्लास को मैं अच्छे से आपको समझाऊं लाइव क्लास के अंदर ठीक है कि ऑब्जेक्ट क्लास क्या होती है और इसके अंदर क्या-क्या चीजें और डिफाइंड होती हैं तो ऑब्जेक्ट क्लास होती है बेसिकली और जितनी भी क्लासेस आप बनाते हो ना जावा के अंदर आज तक हमने जितनी भी क्लासेस बनाई है वह बाय डिफॉल्ट अपने आप ही ऑब्जेक्ट क्लास से इन्हेरिटेंस कुछ चीजें अगर आपको यह देखना ही है तो मैं एक शॉर्ट में दिखा देता हूं कि जब मैं यहां पे करता हूं ना ऑब्जेक्ट डॉट तो आप देखते हो कि मॉडल और व्हील्स काउंट ये तो मुझे मिल रहा है मुझे पता है कहां से मिल रहा है ये मुझे ऊपर वाली क्लास से मिल रहा है ठीक है व्हीकल क्लास से और लेकिन ये सारी जो मेथड है क्लोन इक्वल्स हैश कोट टू स्ट्रिंग गेट क्लास नोटिफाई वेट ये सब ये सब कहां से मिल रहे हैं ये सारे के सारे मेथड्स मिल रहे हैं मुझे ऑब्जेक्ट क्लास से तो जावा के अंदर एक ऑब्जेक्ट क्लास बनी होती है जो कि आपको नहीं बनानी होती वो ऑलरेडी बनी हुई है जावा के अंदर और उसके अंदर ये सारे मेथड्स डिफाइन है जावा ने बोला था कि सभी मेथड्स के पास सभी ऑब्जेक्ट्स के पास जितने भी ऑब्जेक्ट बन रहे हैं के अंदर उन सबके अंदर यह कुछ प्रॉपर्टीज या फिर ये कुछ बिहेवियर तो होने ही चाहिए ठीक है वो ये सारे बिहेवियर्स है यह कुछ मेथड्स है या स् क्लोन से लेकर वेट तक तो यह सारे मेथड्स हमें दे रखे हैं जावा ने ऑलरेडी और यह सारे आ रहे हैं ऑब्जेक्ट क्लास के अंदर से ऑब्जेक्ट क्लास को लेकिन हम समझेंगे बाद में अच्छे से बेसिकली कोई भी क्लास आप बना लो सबका टॉप लेवल पेरेंट ऑब्जेक्ट मिलेगा ही आपको ठीक है बस ये कहना चाहता हूं अ मेथड ओवरराइडिंग इज आल्सो नोन एज रन टाइम पॉलीमोर्फस जम हेंस वी कैन अचीव पॉलीमोर्फस जम इन जावा विद द हेल्प ऑफ इन्हेरिटेंस ये वाली लाइन अभी फिलहाल के लिए आप इग्नोर कर दो कि ये रन टाइम पॉलीमोर्फस जम क्या होता है पॉलीमोर्फस ज्म का मतलब बेसिकली होता है कि एक अ नाम की दो चीजें हैं ठीक है तो बेसिकली पॉली मतलब मल्टीपल और फ मोफिज मतलब फॉर्म ठीक है तो मल्टीपल फॉर्म ले ली है लेकिन नाम एक ही है तो अगर एक ही चीज ने अगर मल्टीपल फॉर्म ले लिया जैसे कि यहां पर देखो स्टार्ट यहां पर भी नाम स्टार्ट है यहां पर भी नाम स्टार्ट है लेकिन दोनों के अंदर काम अलग-अलग हो रहा है तो दिस इज कॉल्ड पॉलीमोर्फस ज्म और यह वाला जो पॉलीमोर्फस ज्म है ये होता है रन टाइम पॉलीमोर्फस जम इसके अलावा एक और पॉलीमोर्फस जम होता है व्हिच इज कंपाइल टाइम पॉलीमोर्फस जम और वो हम ऑलरेडी वैसे देख चुके हैं अ मेथड ओवरलोडिंग को कहते हैं कंपाइल टाइम पॉलीमोर्फस जम जो हम ऑलरेडी लास्ट क्लास में देख चुके थे इसके अलावा मेथड ओवरराइडिंग जो अभी हम पढ़ रहे हैं ये जो मेथड ओवरराइडिंग हो रही है दिस इज कॉल्ड रन टाइम पॉलीमोर्फस जम बाकी पॉलीमोर्फस जम को मैं अच्छे से आपको बाद में समझा रहा हूंगा ठीक है अभी फिलहाल हम बात कर लेते हैं मेथड ओवरराइडिंग की थोड़ी सी और डिटेल में तो हमने लास्ट क्लास में एक कीवर्ड पढ़ा था व्हिच इज कॉल्ड दिस कीवर्ड और दिस कीवर्ड की हेल्प से हमने देखा था कि अभी फिलहाल जिस इंस्टेंस की बात हो रही है उसका रेफरेंस लेने के लिए दिस काम में आता है तो किसी भी मेथड के अंदर आप हो और आपको उस मेथड के अंदर देखना है कि करंट इंस्टेंस किस इंस्टेंस ने इस मेथड को कॉल किया है तो उसकी एक्सेस अगर आपको लेनी है तो दिस आप यूज करते हो मैं आपको दोबारा समझाता हूं कि सपोज करो ये जो स्टार्ट मेथड है इसके अंदर मुझे पता लगाना है कि कौन से वाले इंस्टेंस ने या फिर कौन से वाले ऑब्जेक्ट ने इस स्टार्ट मेथड को कॉल किया है तो उसके लिए मैं दिस यूज़ कर सकता हूं यहां पे अगर मैं यहां पे दिस प्रिंट करूंगा तो ये दिस मुझे बताएगा कि कौन सा वाला ऑब्जेक्ट है बेसिकली ठीक है तो मैंने यहां पर ये वाला ऑब्जेक्ट बनाया है तो फिलहाल ये जो दिस होगा ये इस वाले ऑब्जेक्ट का रेफरेंस अपने अंदर स्टोर किया होगा सिमिलरली अगर मैं यहां पर लिखता हूं दिस डॉट मॉडल ठीक है तो मुझे इस क्लास इस ऑब्जेक्ट का मॉडल मिल जाएगा जो फिलहाल करेंटली इस स्टार्ट मेथड को एग्जीक्यूट कर रहा है तो जरा चला के देखते हैं आप देखोगे यहां पर पहले मुझे मिला इस ऑब्जेक्ट का रेफरेंस तो ऑब्जेक्ट का रेफरेंस कुछ ऐसे मिलता है कि सबसे पहले क्लास का नाम ठीक है क्लास का नाम क्या आगे पूरा का पूरा पैकेज आता है पहले तो टड कार ये हमारी क्लास स उसके बाद ये रेट के बाद जो भी चीज होती है ये बेसिकली इस ऑब्जेक्ट का रेफरेंस होता है व्हिच इज दिस करंट ऑब्जेक्ट जो हमने यहां पे बनाया है और उसके बाद जब मैंने किया दिस डॉट मॉडल तो फिलहाल मैंने अपने करंट यह वाला जो मैंने ऑब्जेक्ट बनाया है इसको मैंने एक्सेस कर लिया है और इसके अंदर जो भी प्रॉपर्टीज हैं बेसिकली इस ऑब्जेक्ट के अंदर क्या-क्या प्रॉपर्टीज है इस ऑब्जेक्ट के अंदर व्हील्स काउंट प्रॉपर्टी है मॉडल प्रॉपर्टी है इसके अलावा जो भी प्रॉपर्टीज आपने डिफाइन करी है सपोज करो आपने यहां पर तो ये दो प्रॉपर्टी डिफाइन करी है लेकिन आप चाहो तो कार के अंदर खुद की भी कुछ प्रॉपर्टीज डिफाइन कर सकते हो हो सकता है ना कि सब कुछ पापा ने दिया है मतलब वही है आपके पास ऐसा नहीं होता आपके पास खुद की भी कुछ प्रॉपर्टी होती है राइट कुछ तो आप इन्हेरिटेंस खुद की भी प्रॉपर्टीज हो सकती है तो यहां पर आप चाहो तो अपनी खुद की प्रॉपर्टी भी बना सकते हो जैसे कि स्ट्रिंग कलर ठीक है तो यह कलर प्रॉपर्टी हो सकता है कि कार डिफाइन कर रही है व्हीकल के पास से कलर प्रॉपर्टी नहीं मिल रही है यह कलर प्रॉपर्टी यहां पर कार डिफाइन कर रही है तो यहां पर आप ऑब्जेक्ट डॉट कलर भी डिफाइन कर सकते हो इस तरीके से राइट तो ये जो कलर प्रॉपर्टी हैय कहां से आ रही है यहां पर अगर आप कमांड होल्ड करके क्लिक करोगे तो यू कैन सी यह कार के पास लेकर जा रहा है और वहीं पर अगर आप व्ल्स काउंट पर क्लिक करके होल्ड करके क्लिक करोगे तो यहां पर यह व्हीकल के पास लेकर जा रहा है एक और चीज जब आप यहां पर कमांड या कंट्रोल दबा के होल्ड करोगे तो आप पढ़ सकते हो ऊपर लिखा आ रहा है कि व्हीकल से मिल रहा है मुझे इंट व्हील्स पॉइंट सिमिलरली यहां पर व्हीकल से मुझे मिल रहा है मॉडल सिमिलरली कार से मुझे मिल रहा है कलर तो ये बता रहा है कि आपको जो भी प्रॉपर्टी मिल रही है वो किस जगह से आ रही है तो ये मेरी खुद की प्रॉपर्टी है और वहीं पर जो मॉडल है वो मैंने अपने पेरेंट से इन्हेरिटेंस और भी होती है व्हिच इज कॉल्ड सुपर दिस के जैसा ही होता है सुपर लेकिन सुपर इज यूजफुल टू अ इवोक योर पेरेंट ठीक है तो अगर आपको अपने पेरेंट की चीजों को एक्सेस करना है अगर आपको पेरेंट का पता लगाना है कि मेरा पेरेंट कौन सा है और उसके पेरेंट की अंदर की कुछ चीजों को एक्सेस करना है तो उसके लिए आप सुपर यूज कर सकते हो तो पेरेंट के मेथड को पेरेंट के अंदर के कंस्ट्रक्टर्स को आपको कॉल करना है तो उसके लिए आप सुपर यूज करते हो तो सुपर को समझते हैं जरा एक बार व्हाट इज सुपर कीवर्ड सुपर इज अ स्पेशल कीवर्ड इन जावा दैट इज यूज्ड टू रेफर टू द इंस्टेंस ऑफ द इमीडिएट पेरेंट क्लास तो सबसे इंपोर्टेंट बात इमीडिएट पेरेंट क्लास ठीक है तो जस्ट इस क्लास से ऊपर जो पेरेंट है बस उसको एक्सेस करने काम में आता है सुपर इसका मतलब यह भी हुआ कि अगर आपको सी के अंदर आपने लगाया सुपर तो उस टाइम पे आप आप बी को एक्सेस करोगे बी क्लास के ऑब्जेक्ट को एक्सेस कर रहे होंगे ठीक है वहीं पर अगर बी के अंदर आपने लगाया सुपर तो आप ए को एक्सेस कर रहे होगे अगर ए के अंदर सुपर लगाया तो ए का कोई भी पेंट नहीं है तो उस टाइम पे आप ऑब्जेक्ट क्लास को एक्सेस कर रहे होंगे ठीक है और उसके बाद ऑब्जेक्ट क्लास के अंदर तो उ ऊपर लगा ही नहीं सकते बिकॉज ऑब्जेक्ट क्लास तो आप बना ही नहीं सकते ये तो जावा ने ऑलरेडी अपने लिए बना रखी है ठीक है इसके अंदर आप कोई भी चेंजेज नहीं कर सकते ये आपको जेडी के में मिलती है तो यहां पर लिखा हुआ है यूस ऑफ सुपर कीवर्ड इन जावा इट इज यूज टू रेफर टू एन इंस्टेंस वेरिएबल ऑफ द इमीडिएट पेरेंट क्लास ठीक है ये तो हम देखेंगे अभी इट इज यू इक मेथड ऑफ द इमीडिएट पेरेंट क्लास और साथ में इट इ यूज टू इवोक कंस्ट्रक्टर ऑफ द इमीडिएट पेरेंट क्लास तो सिमिलर टू दिस कीवर्ड होता है दिस कीवर्ड के अंदर हम क्या करते हैं यूज टू इवोक द मेथड ऑफ द करंट क्लास ठीक है या फिर करंट इंस्टेंस को सिमिलरली यूज टू इवोक द कंस्ट्रक्टर ऑफ द करंट ऑब्जेक्ट या फिर करंट इंस्टेंस तो सिमिलर टू दैट हमारा यह सुपर होता है जरा देखते सुपर कैसे काम करेगा तो सपोज करो आपने यहां पर यह करना है आपको पता है कि मेरे पास यह तो मेरा करंट इंप्लीमेंटेशन है लेकिन करंट इली इंप्लीमेंटेशन से पहले मैं अपने पेरेंट का इंप्लीमेंटेशन भी देखना चाहता हूं तो आप यह कर सकते हो सुपर डॉट स्टार्ट ठीक है तो सुपर लिखते ही आपको अपने पेरेंट का एक्सेस मिल चुका है और उस पेरेंट के अंदर जो स्टार्ट मेथड है वो यहां से चल जाएगा ठीक है तो अगर आप यहां पर कमांड करोगे कमांड दबा के अगर हर करोगे तो यहां पे आप देख पा रहे हो कि यह जो स्टार्ट है यह फिलहाल मुझे व्हीकल का का स्टार्ट मिल रहा है और अगर मैं इस चीज को रन भी करूंगा ना तो आप देखोगे कि स्टार्ट मेथड से पहले व्हीकल स्टार्टिंग प्रिंट हुआ तो यहां पर हम देख पा रहे हैं कि सुपर डॉट स्टार्ट करने से हमारी पेरेंट क्लास के अंदर स्टार्टिंग वाला जो मेथड था पेरेंट क्लास का जो स्टार्टिंग मेथड था वो यहां पर रन हो रहा है ठीक है और व्हीकल स्टार्टिंग यहां पे प्रिंट हो रहा है उसके बाद आपने जो भी काम किया है व्हिच इज ऑब्जेक्ट डॉट स्टार्ट तो ऑब्जेक्ट डॉट स्टार्ट यहां पे हो रहा है और इसीलिए आपकी i10 कार स्टार्टिंग यह वाली जो इंप्लीमेंटेशन है जो बेसिकली आपने ओवरराइड की है वो चीज रन हो रही है इस तरीके से आप सुपर यूज करते हो लेकिन सुपर का एक और यूज हो सकता है सुपर का यूज हो सकता है आपको अगर पेरेंट का कंस्ट्रक्टर रन करना हो तो पेरेंट क्लास के अंदर आप एक कंस्ट्रक्टर बना लो सपोज करो यहां पर मैं एक कंस्ट्रक्टर बनाता हूं चच इज दिस अ व्हीकल एंड दिस इज द कंस्ट्रक्टर राइट बिकॉज इसका जो नाम है यह बिल्कुल मेरी क्लास के नाम के बराबर है और उसके बाद मैंने यहां पर इस तरीके से ओपनिंग एंड क्लोजिंग पेंसिस लगा दिए है तो दिस इज नाउ माय कंस्ट्रक्टर ऑफ द व्हीकल क्लास और इसके अंदर मैं काम कर सकता हूं कि सपोज करो क्रिएटिंग अ व्हीकल इंस्टेंस ऑलराइट तो ये बेसिकली मैंने इसका डिफॉल्ट कंस्ट्रक्टर ओवरराइड कर दिया इस तरीके से और सपोज करो जब मैंने कार बनाई है तो कार का भी एक डिफॉल्ट कंस्ट्रक्टर हो सकता है राइट कार और इसके डिफॉल्ट कंस्ट्रक्टर को भी मैं यहां पर चेंज कर देता हूं सपोज करो मैं लिख देता हूं य प कार इज बीइंग राइट पहले तो प्रिंट होगा कार इज बीइंग क्रिएटेड्रॉअर्नेविगेटर जब मैंने कोई भी ऑब्जेक्ट बनाया तो उसका जो पेरेंट का जो कंस्ट्रक्टर होगा डिफॉल्ट कंस्ट्रक्टर वो कॉल होगा ही होगा और उसके पेरेंट का कोई डिफॉल्ट कंस्ट्रक्टर होगा वो भी कॉल होगा ही होगा ठीक है तो यह पूरा ऊपर तक जाते हैं और सारे के सारे जो डिफॉल्ट कंस्ट्रक्टर होते हैं वो सारे सारे कॉल करके मानते हैं ठीक है तो इस तरीके से आपके डिफॉल्ट कंस्ट्रक्टर तो रन होते ही है लेकिन सपोज करो मैंने यहां पर एक और कंस्ट्रक्टर बना दिया ककल का ही जिसके अंदर मैं वल्स काउंट भी लेता हूं ठीक है और मैं यहां पे बोलता हूं दिस डॉट व्ल्स काउंट इक्वल्स टू जो यहां से व्हील्स काउंट की वैल्यू मिल रही है वो और इसके बाद यहां पे मैं एक और लाइन प्रिंट कर देता हूं क्रिएटिंग व्हीकल विद व्हील्स इस तरीके से तो ये मेरा डिफॉल्ट कंस्ट्रक्टर है ये मेरा एक दूसरा कंस्ट्रक्टर है दिस इज पैरामीटराइज्ड कंस्ट्रक्टर ठीक है और यहां पर भी मैं एक यहां पर अभी फिलहाल नॉर्मल रखते हैं ठीक है यही रखते हैं और अभी इसको रन करेंगे तो आपको पता है अभी फिलहाल तो ये हमारा नॉर्मल वाला कंस्ट्रक्टर रिकॉल होगा ठीक है क्रिएटिंग अ वकल इंस्टेंस लेकिन आपको अगर यहां से अपना यह वाला कंस्ट्रक्टर कॉल करना है व्हीकल व्हीकल्स वाला तो उसके लिए आप सुपर कीवर्ड का यूज कर सकते हो बड़े इजली आपको क्या करना है यहां पर लिखना है सुपर डॉट उसके बा सॉरी सुपर और इसके अंदर आपको पास कर देना है व्हील्स ठीक है सपोज करो मैंने पास कर दिया फोर या फिर फोर नहीं यहां पे मैं थ्री पास करता हूं ऐसे तो यहां पे क्या किया मैंने मैंने पेरेंट का कंस्ट्रक्टर कॉल किया है और पेरेंट के अंदर मैंने व्हील्स काउंट की वैल्यू सेट कर दी है थ्री यहां पर तो जरा देखते हैं अब क्या होगा रन किया मैंने तो यहां पे लिखा आ रहा है क्रिएटिंग व्हीकल विद व्हील्स तो इस बार हमारा व्हीकल विद व्हील्स वाला कंस्ट्रक्टर कॉल हुआ वो क्यों कॉल हुआ क्योंकि यहां पर मैंने लिखा है सुपर विद थ्री ठीक है अगर मैं सुपर विद थ्री नहीं लिखूंगा सिंपल लिखूंगा बस सुपर बस ऐसे ही बिना वल्स काउंट के तो यह भी मेरा चलेगा लेकिन इस बार मेरा डिफॉल्ट कंस्ट्रक्टर ऑफ पेरेंट वो कॉल हो रहा है ठीक है क्रिएटिंग अ व्हीकल इंस्टेंस ये मेरा डिफॉल्ट कंस्ट्रक्टर वाला था जैसे मैंने सुपर के अंदर फोर पास कर दिया तो यह फिर मैच कर जाएगा इसके सिग्नेचर के साथ नेचर मतलब कि कितने पैरामीटर्स कैसे पैरामीटर्स वो ले रहा है तो यहां पर ये इंट व्हील्स काउंट वाला जो कंस्ट्रक्टर ये वाला कॉल हो जाएगा इधर और ये इसका पेरेंट है इसीलिए सुपर लिखने से पेरेंट को आप एक्सेस कर पाते हो इसीलिए यहां पर पेरेंट कंस्ट्रक्टर कॉल हो रहा है तो क्रिएटिंग अ व्हीकल इंस्टेंस विथ व्हील्स यहां पर रन होने वाला है उसके बाद कार इज बीइंग क्रिएटेडटेड का कंस्ट्रक्टर कॉल कर दिया है बाय द हेल्प ऑफ सुपर एक चीज और सपोज करो ये सब करने के बाद अच्छा यहां पर आप अभी भी देख सकते हो कि अगर आपको व्हील्स प्रिंट करने कि व्हील्स कितने हैं इसके अंदर तो मैंने यहां पर व्ल्स इसके सेट कर दिए चार ठीक है मैं करता हूं ऑब्जेक्ट डॉट व्ल्स काउंट को प्रिंट करता हूं एस आउट ऑब्जेक्ट डॉट व्ल्स काउंट तो मैं क्या कर रहा हूं मैंने अपने ऑब्जेक्ट के व्ल्स काउंट को यहां पर प्रिंट कर दिया तो आपको दिख रहा होगा यह तो चार ही रहने वाला है ठीक है जबकि यहां पर सपोज करो मैं चेंज कर देता हूं यहां पर मैं कर देता हूं टू तो जब मैंने पेरेंट का कंस्ट्रक्टर कॉल किया था तो मैंने डिस्काउंट की वैल्यू टू कर दी थी लेकिन बाद में क्योंकि मैं अपडेट कर दे रहा हूं इसीलिए ये चार हो जा रही है ठीक है तो हो क्या रहा है जब आपने कार का ऑब्जेक्ट बनाया यहां पर अगर आप पहले प्रिंट करोगे ठीक है इस जगह पर प्रिंट करोगे व्हील्स काउंट की वैल्यू को तो आप देखोगे यहां पर टू होगा लेकिन यहां पर चार हो जाएगी बिकॉज बाद में आपने उस ऑब्जेक्ट की व्हील्स काउंट की वैल्यू को अपडेट कर दिया है रन करके दिखाता हूं मैं तो आप देखो यहां पर टू प्रिंट हुआ पहले क्योंकि यहां पर व्हील्स काउंट की वैल्यू को टू सेट कर दिया गया है टू कैसे सेट किया गया कि पेरन का कंस्ट्रक्टर कॉल हुआ और पेरन के कंस्ट्रक्टर ने सुपर वल्स काउंट की वैल्यू को टू सेट कर दिया है तो कार ऑब्जेक्ट का व्हील काउंट अभी फिलहाल के लिए टू हो जाएगा उसके बाद ये लाइन प्रिंट होगी और अभी फिलहाल के लिए कार ऑब्जेक्ट का जो अ व्हील काउंट है वो टू है लेकिन बाद में फिर आपने अपडेट कर दिया बाद में आपने बोल दिया कि नहीं टू तो नहीं फोर होगा तो जब आपने फोर कर दिया तो उसकी व्हील काउंट की वैल्यू फोर हो चुकी है तो अब अगर आप फ्यूचर में कभी भी उसे प्रिंट करोगे तो यहां पर फोर ही प्रिंट होने वाला है ठीक है तो इतना सब कुछ देखने के बाद हमें यहां पर अब कुछ-कुछ चीजें क्लियर होने लग जानी चाहिए वो क्या कि जब आपने पेरेंट क्लास में कोई चीज बनाई सपोज करो दिस इज माय पेरेंट और इसके अंदर सपोज करो ये मेरा व्ल्स काउंट है जिसकी वैल्यू मैंने सेट कर दी थी टू और जब मैंने ऑब्जेक्ट बनाया अपनी करंट क्लास का ठीक है सपोज करो दिस इज माय बेस क्लास जिसके अंदर मैंने वल्स काउंट की वैल्यू बाद में सेट कर दी फोर और ऑब्जेक्ट मेरा यहां पे बन चुका था तो जब मेरा ऑब्जेक्ट क्रिएट हो रहा है तो उस टाइम पे क्योंकि ऑब्जेक्ट तो एक ही जगह पे स्टोर हो रहा है राइट ये मेरी हीप मेमोरी है सपोज करो तो इस हीप मेमोरी के अंदर मेरा ऑब्जेक्ट बन रहा है राइट दिस इज माय ऑब्जेक्ट और इस ऑब्जेक्ट के पास ये सारी प्रॉपर्टीज होंगी जो कि इस पेरेंट ने डिफाइन कर रखी है और साथ में जो जो इस बेस क्स में डिफाइन करके वो भी प्रॉपर्टीज होंगी इसके अंदर तो व्हील्स काउंट भी होगा इसके पास इसके पास कलर भी होगा राइट ये सारी प्रॉपर्टीज इसके पास होंगी लेकिन जब शुरुआत में ये ऑब्जेक्ट क्रिएट हो रहा था तो इसने क्योंकि पेरेंट का कंस्ट्रक्टर कॉल किया था और पेरेंट के कंस्ट्रक्टर ने अपनी इस प्रॉपर्टी को सेट कर दिया था टू के बराबर तो शुरुआत में ये होगा टू के बराबर और ये होगा नल के बराबर ठीक है क्योंकि स्ट्रिंग की डिफॉल्ट वैल्यू नल होती है उसके बाद जब आपने इसको सेट कर दिया व्हील्स काउंट को आपने कर दिया फोर तो ये इसी ऑब्जेक्ट के अंदर वैल्यू ऑफ चेंज हो जाएगी ठीक है वैल्यू अपडेट हो जाएगी यहीं पे ही क्योंकि चेंजेज आपके इसी ऑब्जेक्ट के अंदर हो रहे हैं ठीक है आपने इसकी वैल्यू को फोर कर दिया फ्यूचर में सपोज करो आपने इसके कलर को रेड कर दिया तो यह आप कर सकते हो लेकिन यह सारा का सारा जो काम हो रहा है वो इस ऑब्जेक्ट के ऊपर हो रहा है जो कि मेमोरी में एक ही जगह पर स्टोर्ड है तो ऐसा मत समझना कि पेरेंट क्लास से जब कोई चीज ले रहे हैं तो मल्टीपल ऑब्जेक्ट बन रहे हैं ऐसा नहीं होता ऑब्जेक्ट सिर्फ एक ही बनता है उसके अंदर बस जो प्रॉपर्टीज होती है वो आपके पेरेंट की भी आ जाती है उसके अंदर जिनको आप अपने हिसाब से चेंज भी कर सकते हो ठीक है और आप चाहो तो बेस क्लास से पेरेंट क्लास के मेथड्स को कॉल कर सकते हो बेस क्लास से पेरेंट क्लास के इंस्ट्रक्टर को भी कॉल कर सकते हो विद द हेल्प ऑफ सुपर कीवर्ड जो हमने देखा इसके साथ ही जरा मैं आपको एक बार और समझाता हूं दिस वर्सेस सुपर तो हमने दिस ऑलरेडी देख लिया था सुपर आज देख लिया है लेकिन इनके बीच में जो कुछ की डिफरेंसेस हैं उनको एक बार रिवाइज कर लेते हैं तो सबसे पहला तो ये है कि दिस इज एन इंपलीसिट रेफरेंस वेरिएबल कीवर्ड यूज टू रिप्रेजेंट द करंट क्लास तो कभी आपको करंट क्लास को एक्सेस करना है तो उसके लिए आप दिस यूज़ करते हो वहीं पर सुपर इज एन इंप्ली रेफरेंस वेरिएबल कीवर्ड यूज टू रिप्रेजेंट द इमीडिएट पेरेंट क्लास तो जस्ट ऊपर वाली पेरेंट क्लास को आपको रेफरेंस करना है तो उसके लिए आप सुपर यूज़ करते हो ये तो हमने देख लिया था दिस इज यूज टू इवोक मेथड ऑफ़ द करंट क्लास वहीं पर सुपर जो है वो इमीडिएट पेरेंट क्लास के मेथड को इवोक करने के काम में आता है वहीं पे दिस इज यूज टू इवोक द कंस्ट्रक्टर ऑफ द करंट क्लास वहीं पर सुपर जो है वो अपनी इमीडिएट पेरेंट क्लास के कंस्ट्रक्टर को कॉल कराने के काम में आता है ये हमने देख लिया ऑलरेडी उसके बाद दिस रेफर्स टू इंस्टेंस एंड स्टेटिक वेरिएबल ऑफ द करंट क्लास तो दिस का मतलब है कि अभी फिलहाल आप करंट क्लास के जो वेरिएबल हैं करंट क्लास के जो स्टेटिक वेरिएबल अभी स्टेटिक वेरिएबल को हम आगे देखेंगे इसी क्लास के अंदर तो उनको रेफरेंस करने के भी काम में आता है वहीं पे जो सुपर है सुपर रेफर्स टू द इंस्टेंस एंड स्टैटिक वेरिएबल ऑफ द इमीडिएट पेरेंट क्लास ठीक है तो बेसिकली सुपर का मतलब पेरेंट है और दिस का मतलब करंट क्लास है दिस कैन बी यूज्ड टू रिटर्न एंड पास एज एन आर्गुमेंट टू द इन द कंस्ट्रक्ट ऑफ द करंट क्लास तो कभी आपको करंट क्लास का ऑब्जेक्ट पास करना है किसी मेथड के अंदर या फिर रिटर्न करना है करंट क्लास का ऑब्जेक्ट तो उस केस में आप दिस को रिटर्न कर सकते हो या फिर दिस को पास कर सकते हो वहीं पे कभी आपको अपने पेरेंट क्लास को एज एन आर्गुमेंट पास करना है किसी फंक्शन में पेरेंट क्लास के ऑब्जेक्ट को या फिर पेरेंट क्लास के ऑब्जेक्ट को रिटर्न करना है तो उस केस में आप सुपर को रिटर्न या फिर सुपर को पास कर सकते हो अगर ये लास्ट वाला समझ में नहीं आ रहा कि भया ये दिस कहां पास कर सकते हैं सुपर कैसे पास कर सकते हैं या फिर रिटर्न कर सकते हैं तो उसके लिए आप ऐसे एग्जांपल समझ सकते हो कि सपोज करो एक मेथड है और यह मेथड ना किसी और क्लास के अंदर पढ़ा है सपोज करो यह एक और क्लास मैंने बना लिया अलग से क्लास और दिस इज लेट्स से स्कूटर और इस स्कूटर क्लास के अंदर मैंने एक फंक्शन बनाया है च इ लेट्स से वॉइड ब्रेकिंग और इसके अंदर मैं मुझे चाहिए एक कार क्लास का ऑब्जेक्ट ठीक है तो कार क्लास का रेफरेंस चाहिए मुझे तो कार और लेट्स से कार और यहां पर मैं इस कार को यूज करना चाहता हूं तो मैं यहां पर लिखूंगा एस आउट कार डॉट लेट्स से मॉडल इज ब्रेकिंग ठीक है तो ये स्कूटर क्लास है जिसके अंदर ब्रेकिंग नाम का मैंने फंक्शन बनाया है और ये एक कार का रेफरेंस मांगता है अपने अंदर अपने आपको को चलाने के लिए और आपको ये कार क्लास का रेफरेंस इसके अंदर पास करना है और आप सपोज करो स्टार्ट मेथड के अंदर अब स्टार्ट मेथड के अंदर से आपको अगर इस स्कूटर का ब्रेकिंग वाला मेथड कॉल करना है तो उसके लिए आपको कार चाहिए होगा राइट लेकिन वो कार कहां से मिलेगा आप इस मेथड के अंदर वो कार कहां से मिलेगी आपको तो आप क्या कर सकते हो आप पहले तो वो ऑब्जेक्ट बनाओगे यहां पर तो स्कूटर का ऑब्जेक्ट बनाओगे प तो स्कूटर स्कूटर ऑब्जेक्ट इक्व टू न्यू स्कूटर यह बन गया उसके बाद स्कूटर ऑब्जेक्ट डॉट ब्रेकिंग कॉल करोगे लेकिन इसके अंदर आपको वो कार का रेफरेंस चाहिए कार का रेफरेंस कहां से मिलेगा मैं बोलूंगा कार का रेफरेंस मिल जाएगा दिस के थ्रू आप दिस पास कर दो दिस का मतलब है कि आप अभी फिलहाल जो करंट कार जो इस स्टार्ट मेथड को रन कर रही है वही करंट कार यहां पास हो जाएगी ठीक है तो यह इस तरीके से काम में आता है दिस तो दिस का आप यूज कर सकते हो अपने आप को पास करने के लिए भी किसी और फंक्शन के अंदर वहीं पर सपोज करो यह जो फंक्शन है अ कोई फंक्शन रिटर्न करना चाहता है कार को सपोज करो ये जो फंक्शन है ना ये बॉयड रिटर्न नहीं करता यह कार ऑब्जेक्ट रिटर्न कर सकता है इस तरीके से तो अगर ये कार ऑब्जेक्ट रिटर्न कर सकता है ना तो यहां पर आप रिटर्न करा सकते हो दिस को इस तरीके से तो अब यह एरर क्या दे रहा है स्टार्ट इज इन उपस का क्लश विथ स्टार्ट इन द ट व्हीकल अटेम्प्टिंग टू यूज द इन कंपैटिबल रिटर्न टाइप अच्छा तो यहां पे बेसिकली हो क्या रहा है आपने स्टार्ट मेथड यहां पे भी बना रखा है स्टार्ट मेथड यहां पे भी बना रखा है राइट तो आप सेम मेथड बना रहे हो ओवरराइड करना चाहते हो लेकिन यहां पर ओवरराइड करते टाइम आपने गलत रिटर्न टाइप डाल दिया इसीलिए वो एरर दे रहा है तो इसको आप वॉइड रख सकते हो लेकिन आप चाहो तो एक और मेथड बना सकते हो यहां पर दूसरा लेट्स से कार जो रिटर्न करेगा उसका नाम है ब्रेकिंग ठीक है तो इसके अंदर से आप चाहो तो रिटर्न कर सकते हो दिस तो अब क्या कर रहा हूं मैं मुझे क्योंकि कार का ऑब्जेक्ट रिटर्न करना है तो इसीलिए मैं रिटर्न दिस कर सकता हूं क्योंकि मुझे कोई कार का ट रिटर्न करना है तो रिटर्न करने के लिए मैं दिस रिटर्न कर सकता हूं और यह मेरी करंट कार को ही रिटर्न कर देगा तो अलग-अलग यूज केस होते हैं वैसे तो आप देखोगे नहीं कभी भी ठीक है कि आप ऐसे पास कर रहे हो करंट ऑब्जेक्ट को या फिर रिटर्न कर रहे हो करंट ऑब्जेक्ट को ये बहुत ही कम यूज होता है जब आप ए डेवलपमेंट करोगे ना जावा के अंदर कभी तो आप देखोगे वहां पर ये यूज हो रहा है इस टाइप की चीज है कि आप कंटक्ट पास कर दे रहे हो करंट ठीक है बट नॉर्मल डीएसए वगैरह के अंदर ये सब बिल्कुल यूज नहीं होते हैं मतलब आप कभी भी ऐसे सुपर या फिर दिस को यूज नहीं करोगे इतना ज्यादा ठीक है बट स्टिल पता होना चाहिए कि आप कैसे अ दिस का यूज कर सकते हो टू रिटर्न एंड टू पास इन द वे पास एज अ वेरिएबल अब यहां पर लेकिन आप में से कुछ लोग हो सकता है आप बोले कि भैया यह तो सुपर को भी पास करके देख सकते हैं ऐसे तो सुपर भी पास हो जाएगा सुपर भी रिटर्न हो जाएगा तो मैं बोलूंगा सुपर इज नॉट एक्चुअली एन ऑब्जेक्ट ठीक है सुपर की हेल्प से सुपर एक कैसा मैकेनिज्म है जिसकी हेल्प से आप लोग इमीडिएट पेरेंट की चीजों को एक्सेस कर सकते हो लेकिन सुपर इज नॉट अ फिजिकल थिंग वहीं पर दिस एक फिजिकल ऑब्जेक्ट है दिस मतलब करंट ऑब्जेक्ट सुपर तो बस पेरेंट की चीजों को एक्सेस करने के काम में आता है तो आप यहां पर सुपर वगैरह पास ऐसे नहीं कर सकते ठीक है सुपर की हेल्प से बस आप लोग चीजों को एक्सेस कर सकते हो पेरेंट के अंदर की ठीक है तो ये था डिफरेंस सुपर की हेल्प से आप लोग पेरेंट की चीजों को एक्सेस कर सकते हो फाइनल पॉइंट अगर आप मे से समझो कि फाइनल कंक्लूजन क्या निकल के आया है सुपर का तो सुपर का यूज क्या है सुपर का यूज है पेरेंट के कंस्ट्रक्टर को पेरेंट के मेथड को इवोक करना है आपको तो सुपर यूज करो और दिस का यूज क्या है दिस का यूज है पेरेंट के सॉरी करंट क्लास के दूसरे कंस्ट्रक्टर्स को और करंट क्लास के किसी और मेथड को आपको इवोक करर है तो उसके लिए आप दिस यूज करोगे सिमिलरली अगर आपको पास करना है करंट क्लास का रेफरेंस किसी मेथड के अंदर तो आप दिस को ऐसे पास कर सकते हो और दिस को आप रिटर्न भी कर सकते हो बस इतना ही होता है और इसी के लिए ये दो कीवर्ड यूज किए जाते हैं इसके बाद अगला कीवर्ड हम देखेंगे चच इज कॉल्ड द फाइनल कीवर्ड इन जावा फाइनल कीवर्ड बेसिकली बड़े काम का है यह आपका बताता है कि कोई चीज फाइनल आपका मल्टीपल जगहों पर यूज होता है पहले तो ठीक है फाइनल आपके वेरिएबल भी हो सकते हैं फाइनल आपके मेथड हो सकते हैं और फाइनल की क्लास भी हो सकती है और तीनों ही जगहों पे इसका मतलब अलग-अलग है लेकिन एक तरीके से एक ही चीज कहना चाहता है फाइनल फाइनल कहता है इन जावा द फाइनल कीवर्ड इज अ नॉन एक्सेस मोडिफाय दैट इज यूज्ड टू डिफाइन एंटिटीज दैट कैन नॉट बी चेंज र मॉडिफाइड तो जिस चीज के आगे फाइनल लग गया वो बता रहा है कि ये फाइनल अब हो चुका है कि अब इस चीज को चेंज नहीं किया जा सकता ठीक है अब ये चीज फाइनल हो चुकी है डिफाइन हो चुकी है इस चीज को आप फ्यूचर में चेंज नहीं कर सकते हो तो अगर आपने किसी वेरिएबल को फाइनल बता दिया तो इसका मतलब आपने बोल दिया है कि ये वैल्यू इसके अंदर एक असाइन हो गई है और अब इसके अंदर वैल्यू रिअसाइन कभी नहीं हो सकती तो आप चाहो तो फाइनल वेरिएबल बना सकते हो फाइनल मेथड बना सकते हो फाइनल क्लास बना सकते हो एक करके तीन को देखेंगे ठीक है तो मैं जाऊंगा अपने इस वकल के अंदर और इस व्हीकल के अंदर मैं काम करता हूं य पर एक नया पब्लिक स् बनाता हूं पब्लिक स्टैटिक ड मेल और मैंने क्या किया ना एक इंट बनाया इन और लेट से दिस इ कॉल्ड इयर्स इक्वल्स टू अभी फिलहाल के लिए जीरो है शुरुआत में यहां पर वैल्यू जीरो होगी अगर मैं नहीं भी लिखूंगा तो यहां पर बाय डिफॉल्ट वैल्यू जीरो होगी तो ये मेरा हो गया इंट गियर्स जो कि आप फ्यूचर में चेंज कर सकते हो राइट फॉर एग्जांपल आप आए यहां पर व्हीकल का ऑब्जेक्ट बनाया व्हीकल व्हीकल वन इक्व टू न्यू व्हीकल और यहां पर आपको पास करना पड़ेगा एक व्हीकल्स काउंट तो मैं पास कर दूंगा लेट्स से टू तो मेरा यहां पे v1 बन चुका है और मैं चाहूं तो फ्यूचर में v1 का गियर्स जो है वो चेंज कर सकता हूं गियर लेट्स से मैंने लगा दिया यहां पर सिक्स कि बाद में मैंने इस गियर की वैल्यू चेंज कर दिया लेकिन आप चाहो तो कुछ ऐसे वेरिएबल बना सकते हो जो कि फ्यूचर में कभी चेंज होंगे ही नहीं फॉर एग्जांपल आपने यहां पे बोल दिया फाइनल इंट गियर्स तो जब आप किसी को फाइनल बना रहे हो ना तो फाइनल बनाने के बाद आपको उसको असाइन भी करना पड़ेगा आपको बताना पड़ेगा कि किस चीज के साथ आप इसे इनिश इज कर रहे हो फॉर एग्जांपल मैंने यहां पे बता दिया कि गियर की वैल्यू होगी फोर तो अब वहां से देखो वो एरर जा चुका है और अब मैंने बोल दिया कि गियर्स की वैल्यू हमेशा हमेशा के लिए फाइनल हो चुकी है और फोर हो चुकी है अब कोई भी फ्यूचर में इस गियर्स की वैल्यू को अपडेट नहीं कर सकता ठीक है तो v1 ड गियर्स अब मैं यहां पे लिखूंगा सिक्स तो ये मुझे लाइन एरर दे रही है बिकॉज यहां पे आप देखोगे कैन नॉट असाइन अ वैल्यू टू फाइनल वेरिएबल तो अगर आपने एक वेरिएबल फाइनल बना दिया है तो उसके बाद आप उसके अंदर की वैल्यू को चेंज नहीं कर सकते हो कभी भी ठीक है तो यह हो गया फाइनल वेरिएबल अगला होता है फाइनल मेथड मेथड विथ फाइनल कीवर्ड कैन नॉट बी ओवर रिटन बाय इट्स सब क्लासेस तो यह होता है कि आपने कोई ऐसा मेथड बना लिया जो कि आप चाहते हो कि आपका जो चाइल्ड है या फिर उसका जो चाइल्ड है वो कभी भी उसे चेंज ना कर पाए ठीक है आप मैंने फाइनल बना दिया मेथड फॉर एग्जांपल व्हीकल क्लास के अंदर एक तो हमारा ये था स्टार्ट मेथड ठीक है जिसको आप ओवरराइड कर सकते हो लेकिन आप चाहते हो कि एक और मेथड मैं बनाना चाहता हूं लेट्स से अ वॉइड एक्सलरेट ठीक है ये एक्सलरेट नाम का मैंने एक मेथड बनाया है और इसके अंदर मैंने इंप्लीमेंटेशन डिफाइन कर दिया कि व्हीकल इज एक्सीलरेटिंग और अभी भी आप चाहो तो इस एक्सलरेट मेथड को यहां पर ओवरराइड कर सकते हो कार क्लास के अंदर बिकॉज कार क्लास के अंदर इसकी इंप्लीमेंटेशन तो डिफाइंड ही है राइट एक्सटेंड्स वकल कर रहा है तो इसके अंदर आप जाके यहां पर एक और बना सकते हो अपना मेथड सेम सिग्नेचर वाला च इज एक्सलरेट विद रिटर्न टाइप वाइड और पैरामीटर एस नल तो यहां पर बेसिकली आपने इसको ओवर ऐड कर दिया और आप यहां पर अपनी खुद की इंप्लीमेंटेशन डिफाइन कर सकते हो लेकिन आप चाहते हो कि नहीं मैं अपने चाइल्ड क्लासेस को ओवर ऐड करने की परमिशन नहीं देना चाहता तो उस केस में आप बोल सकते हो कि जो एक्सलरेट है यह वाला मेथड फाइनल है फाइनल का मतलब यह हो कि भाई मैंने इसको फाइनल बना दिया है कि अब यह चेंज नहीं हो सकता ठीक है इसकी इंप्लीमेंटेशन है उसको आप ओवरराइड नहीं कर सकते हो तो आप देखोगे यहां पर एरर मिल रहा है एरर मिल रहा है एक्सलरेट कैन नॉट ओवरराइड एक्सलरेट इन . वकल ओवर डन मेथड इज फाइनल तो जो मेथड आप ओवरराइड करने का ट्राई कर रहे हो इट इज फाइनल फाइनल मतलब इसको आप फ्यूचर में आप चेंज नहीं कर सकते हो तो ठीक है तो यहां पर एरर मिल रहा है तो इसको आपको हटाना ही पड़ेगा यहां से कि इसकी इंप्लीमेंटेशन व्हीकल ने डिफाइन कर रखी है और आप इसको यूज तो कर सकते हो यहां पर ठीक है आप इसको आराम से यूज करो आप जाओ मेन मेथड के अंदर और मैं काम करता हूं ये सब चीजें मैं यहां से कमेंट कर देता हूं और आप ऑब्जेक्ट डॉट एक्सलरेट को यूज कर सकते हो आप आराम से लेकिन ये जो इंप्लीमेंटेशन यहां पे हुई है यह व्हीकल वाली हुई है एक एरर मिल रहा है मुझे व्हीकल के अंदर जरा देखते हैं क्या एरर है तो v1 गियर्स हां गियर्स को तो आप चेंज नहीं कर सकते बिकॉज वो फाइनल है तो यहां पर तो एरर मिलेगा ही तो इसको जरा रन करते हैं इस वाले मेन मेथड को देखते हैं क्या होता है तो आप यहां पर देखेंगे क्रिएटिंग व्हीकल विद व्हील्स हो रहा है पहले प्रिंट उसके बाद कार इज बीइंग क्रिएटेडटेड व्हीकल इज एक्सीलरेटिंग प्रिंट हो रहा ना कि कार इज एक्सीलरेटिंग बिकॉज़ कार इज एक्सीलरेटिंग तो आपने लिखी लिखा ही नहीं और आप कभी लिख भी नहीं सकते बिकॉज दिस मेथड इज फाइनल और इट कैन नॉट बी ओवर रिटन बाय इट सब क्लासेस अगला है फाइनल क्लास फाइनल क्लास बोलती है कि मैं एक ऐसी क्लास हूं जिसका आप सब क्लास भी नहीं बना सकते कि मैं मैं अलाव भी नहीं करूंगा अपने चिल्ड्रन बनाना ठीक है तो क्लास विथ फाइनल कीवर्ड कैन नॉट बी एक्सटेंडेड और इरिटेट फ्रॉम अदर क्लासेस ठीक है तो एक ऐसी क्लास जो कि अपने चाइल्ड क्लासेस बनाने नहीं देना चाहती उसको हम बोलेंगे फाइनल क्लास तो अगर मैंने यहां पे अ व्हीकल क्लास को बना दिया फाइनल पब्लिक फाइनल क्लास व्हीकल अगर मैंने फाइनल क्लास बना दी है तो व्हीकल क्लास के अंदर तो कोई भी दिक्कत नहीं आएगी ठीक है लेकिन कार क्लास के अंदर देखो दिक्कत आ गई है कार क्लास बोल रहा है कैन नॉट इन्हेरीट फ्रॉम फाइनल व्हीकल तो बिकॉज व्हीकल इज फाइनल तो आप इससे इन्हेरिटेंस तो आप इस फाइनल को हटाओ ग तो अब वो एरर चला जाएगा तो कभी आप चाहते हो कि यह जो क्लास है इसका कोई फ्यूचर फर्द कोई सब सब क्लास नहीं बननी चाहिए तो उस केस में आप उसको बना देते हो फाइनल और यह आपके तीन चीजें हो गई फिर फाइनल के अंदर वच आर फाइनल वेरिएबल फाइनल मेथड और फाइनल क्लास फाइनल वेरिएबल को आप लोग कभी भी रिअसाइन नहीं कर सकते तो यह आपके मोस्टली यूज में आते हैं जब आपको कोई अ ऐसी चीज बनानी है जो कि कांस्टेंट रहेगी राइट कभी चेंज नहीं हो सकती जैसे फॉर एग्जांपल पाई पाई की वैल्यू कभी भी चेंज नहीं होगी तो मैथड पा के अंदर आप देखोगे पाई जो है वो एक स्टैटिक फाइनल वेरिएबल होता है ठीक है बिकॉज़ पाई की वैल्यू को कोई भी फ्यूचर में चेंज ना कर सके तो इस तरीके से आपको कोई कुछ कांस्टेंट चीजें बनानी है जो कि कभी भी चेंज नहीं होंगी तो उनको आप फाइनल बना सकते हो सिमिलरली आपने कुछ ऐसे मेथड बना दिए जिनके अंदर आपने बोल दिया कि ये इसकी फाइनल इंप्लीमेंटेशन है इसके बाद फ्यूचर में फर्द इसको कोई भी अ चेंज नहीं कर सकता ओवरराइड नहीं कर सकता तो उस केस में आप उसको फाइनल बना दोगे सिमिलरली आप बना सकते हो फाइनल क्लास कि आपने बोल दिया कि ये मेरी क्लास फाइनल हो चुकी है इस क्लास के बाद फर्द इसकी सब क्लासेस नहीं बनेंगी आपको यूज़ करना है तो इसी क्लास को यूज़ करो लेकिन आप इस क्लास के फर्द अ सब क्लासेस नहीं बना सकते तो उस केस में आप फाइनल क्लासेस बना सकते हो तो यह हमारा फाइनल कीवर्ड होता है आई थिंक आपको समझ में आ रहा होगा लेकिन इसके अंदर अगर कोई भी डाउट रहता है अभी भी कि भैया फाइनल के अंदर चीजें समझ में नहीं आई तो आप पूछ लेना हमसे आपकी पूरी हेल्प की जाएगी अ इसके अलावा हमने देखा दिस वर्सेस सुपर अ सुपर के अंदर एक चीज और मुझे बता देनी चाहिए वो यह है कि दिस और सुपर जो है ना यह आपके कंस्ट्रक्टर के अंदर पहली कॉल होनी चाहिए तो जैसे आप यहां देखो कंस्ट्रक्टर के अंदर मैंने सबसे पहली कॉल जो की वो सुप की की है इसको अगर आप एक लाइन नीचे लिखोगे ना यहां पर तो यह अलाउड नहीं है जावा के अंदर ठीक है अगर आपको कंस्ट्रक्टर कॉल करनी है कॉल टू सुपर मस्ट बी द फर्स्ट स्टेटमेंट इन द कंस्ट्रक्टर बॉडी तो सुपर कीवर्ड को आपको ऊपर ही लिखना पड़ेगा इस तरीके से ठीक है सुपर कैन नॉट बी आफ्टर दिस इसी तरीके से आपको एक चीज और समझ में आरही अगर आपको कभी आपने कोई और इस कार का एक दूसरा बना लिया इ व्ल्स काउंट दूसरा आपने बना लिया ठीक है आपको वो कॉल करना है तो वो भी सबसे पहली कॉल होनी चाहिए यहां पे ठीक है दिस विद लेट्स से थ्री तो ये भी इसकी पहली कॉल होनी चाहिए तो उस केस में फिर सुपर दूसरी कॉल हो जाएगी लेकिन दूसरी कॉल तो अलाउड नहीं है तो या तो आपको सुपर को ऊपर लिखना पड़ेगा या फिर दिस को ऊपर लिखना पड़ेगा तो अब देखो यहां पर दिस अलाउड नहीं है दिस और सुपर दोनों के दोनों पहली कॉल होनी चाहिए तो यहां से हमें समझ में आ रहा है कि आप एक बार में किसी कंस्ट्रक्टर के अंदर या तो सुपर यूज कर सकते हो या फिर दिस यूज कर सकते हो दोनों के दोनों एक साथ यूज नहीं कर सकते ठीक है अब इनको भैया यूज क्यों करूंगा मैं कभी तो उसके यार अलग-अलग तरीके होते हैं डेवलपमेंट में जब आप जाओगे तब आप वहां पर देख रहे होगे डीएसए के अंदर इतना कोई इसका रूल नहीं होता खास बेसिकली अगर आपको सुपर कंस्ट्रक्टर यूज करना है तो आपको सबसे पहली लाइन लिखनी पड़ेगी तो उस केस में आप दिस यूज नहीं कर सकते सिमिलरली अगर आपको इस क्लास का करंट कंस्ट्रक्टर यूज कर रहे हैं तो आप सुपर यूज नहीं कर सकते उस केस में सिंपल सी बात है ठीक है दोनों के दोनों एक साथ यूज नहीं किए जा सकते हैं बस ये कांसेप्ट होता है इसके अलावा हमने देखा मेथड ओवरराइडिंग को मेथड ओवरराइडिंग के अंदर हमने समझा कि जावा के अंदर ऐसे मल्टीपल मल्टी लेवल इन्हेरिटेंस तो अलाउड है लेकिन मल्टीपल इन्हेरिटेंस अलाउड नहीं है अब आप में से कुछ लोग हो सकता है पूछे कि भैया मल्टी मल्टीपल इन्हेरिटेंस क्यों अलाउड नहीं है तो दिस इज कॉल्ड मल्टीपल ठीक है और यह होता है मल्टीलेवल मल्टी लेवल तो भैया मल्टी लेवल अलाउड है लेकिन मल्टीपल अलाउड क्यों नहीं तो मल्टीपल इसलिए अलाउड नहीं कि हो सकता है सपोज करो एल के अंदर आपने कोई फंक्शन बना दिया लेट्स से फू और ए अंदर भी आपने बना दिया एक फंक्शन फू और उसके बाद आपने n का ऑब्जेक्ट बनाया इक्व टू न्यू n ठीक है और अब आप करो ऑब्जेक्ट डॉ फू तो ऑब्जेक्ट ड फू के अंदर कौन सा वाला फू कॉल होगा ये यहां पर क्लेरिटी है नहीं ठीक है इसी वजह से मल्टीपल अलाउड नहीं होता ठीक है जहां पर भी एमिटी होती है जावा उसको अलाउ ही नहीं करता है तो जावा बोलता है कि भाई अगर आपने दो को ट कर लिया और दोनों के अंदर सेम टाइप का मेथड बना ले तो मैं किसको कॉल करूंगा मुझे तो नहीं पता तो इसलिए मैं यहां पर मल्टीपल अलाउ नहीं करूंगा वहीं पर मल्टी लेवल उट है आपने देखा कि ऑब्जेक्ट डॉट स्टार्ट करने पे कोई भी एमबीटी नहीं है क्योंकि स्टार्ट यहां से होता है पहले इसके अंदर ढूंढा जाएगा इसके अंदर नहीं मिला तो इसके अंदर ढूंढा जाएगा इसके अंदर नहीं मिला तो उसके अंदर ढूंढा जाएगा ठीक है तो यहां पे कोई एमगी नहीं है तो इसलिए मल्टी लेवल अलाउड है मल्टीपल अलाउड नहीं है इसके बाद हमने रिटेंस को समझा तो अगर आपको इस क्लास के अंदर कहीं पर भी कोई भी डाउट आता है कहीं पर भी फंसते हो तो आप प्लीज पूछना आपकी पूरी हेल्प की जाएगी लेकिन इसके बाद अब हम आगे मूव कर रहे होंगे और हम बात कर रहे होंगे एनकैप्सूलेशन की एनकैप्सूलेशन समझेंगे पैकेजेस समझेंगे एक्सेस मोडिफाय समझेंगे वो होगा हमारी अगली क्लास के अंदर तो चलते हैं बाय बाय हे व्स गाइ आज हम उप्स के अंदर थोड़ा और आगे बढ़ेंगे और बात करेंगे एक और मेन पिलर की ऊप्स के अंदर व्हिच इज कॉल्ड एनकैप्सूलेशन हमने अभी तक देखा इन्हेरिटेंस ठीक है इन्हेरिटेंस के अंदर हमने देखा कैसे क्लास के अंदर आप लोग इन्हेरिटेंस और चाइल्ड रिलेशनशिप बना सकते हो ऊप्स के अंदर अभी हम कुछ और भी कांसेप्ट पढ़ेंगे वन ऑफ व्हिच इज कॉल्ड एनकैप्सूलेशन जो आज हम देखेंगे इसके अलावा एब्स्ट्रेक्शन एंड पॉलीमोर्फस ज्म भी होता है ये सब के सब बेसिकली आपके क्लास ऑब्जेक्ट के साथ कैसे डील करना है उसके बारे में होते हैं हमने देख लिया क्लास क्या होता है ऑब्जेक्ट क्या होता है हमने देखा कि कैसे क्लासेस के अंदर आप लोग मल्टीपल प्रॉपर्टीज और बिहेवियर डिफाइन कर सकते हो एंड कैसे वो ऑब्जेक्ट्स जो हैं उनसे आप मल्टीपल ऑब्जेक्ट बना सकते हो राइट उसके बाद हमने देखा पेरेंट चाइल्ड रिलेशनशिप आज हम जो पढ़ेंगे वो है डेटा हाइडिल के अराउंड ठीक है डेटा सिक्योरिटी भी बहुत इंपॉर्टेंट होता है तो आज हम देखेंगे कैसे आप डेटा सिक्योर कर पाते हो विद द हेल्प ऑफ डेटा हाइडिल एंड एनकैप्सूलेशन ठीक है उसी के अराउंड हमारे ये सारे टॉपिक्स रहने वाले हैं अ बेसिकली उपस के अंदर यही कांसेप्ट है यार कि आप कैसे करके रियल वर्ल्ड प्रॉब्लम को टैकल कर पा रहे हो ठीक है तो रियल वर्ल्ड के अंदर आपके पास डटा होता है रियल वर्ल्ड के अंदर आपके पास पेरेंट चाइल्ड रिलेशनशिप होता है रियल वर्ल्ड के अंदर आपको डेटा भी हाइड करना होता है कि कुछ डाटा सिर्फ चाइल्ड देख पाए पेरेंट ना देख पाए कुछ डेटा सिर्फ पेरेंट और चाइल्ड ही देख पाए बाहर की दुनिया ना देख पाए राइट इस टाइप की चीजें तो आज हम वो सारी चीजें पढ़ने वाले हैं आज हम पढ़ेंगे पैकेजेस के बारे में पहले उसके बाद एक्सेस मॉडिफाइड देखेंगे उसके बाद एनकैप्सूलेशन पढ़ेंगे एंड देन डेटा हाइडिल जो एनकैप्सूलेशन का एक छोटा सा पार्ट होता है वो भी हम पढ़ेंगे एंड देन आज एक नया कीवर्ड हम समझेंगे व्हिच इज द स्टैटिक कीवर्ड स्टैटिक हमने देख लिया वैसे कई बार पब्लिक स्टैटिक वॉइड में लिखते हुए लेकिन आज पढ़ेंगे स्टैटिक को यूज करते हैं और क्या फायदे होते हैं स्टैटिक को पढ़ने के स्टैटिक के अलावा अभी तक हम फाइनल पढ़ चुके हैं दिस कीवर्ड पढ़ चुके हैं सुपर कीवर्ड भी पढ़ चुके हैं राइट तो आज एक और कीवर्ड को टिक कर लेंगे व्हिच इज द स्टैटिक कीवर्ड ठीक है तो बहुत ही इजी रहने वाली आज की क्लास भी स्टार्ट करेंगे जावा पैकेजेस के साथ तो सबसे पहले पैकेज अभी तक हम काफी सारे बना चुके हैं ऑलरेडी अगर आप मुझे यहां पर देखोगे तो यह सोर्स पैकेज के अंदर मेरे पास ये इतने सारे पैकेजेस हैं राइट ऑल दीज आर फोल्डर्स तो पैकेजेस बेसिकली फोल्डर्स होते हैं लेकिन फोल्डर्स से बढ़ के भी कुछ चीजें प्रोवाइड करवा करवाते हैं ठीक है व्हिच इज एनकैप्सूलेशन तो कैसे ये एनकैप्सूलेशन में हेल्प करते हैं पैकेजेस जरा वो समझेंगे और क्या फोल्डर से बढ़ के क्या और चीजें प्रोवाइड कर सकते हैं वो भी समझेंगे ठीक है तो अ पैकेज इ सिंपली अ कंटेनर दैट ग्रुप्स रिलेटेड टाइप्स जावा क्लासेस जावा इंटरफेस नमेश एंड नोटेशंस अगर आपको यह इंटरफेस इमेशन और नोटेशन समझ में नहीं आया तो टेंशन मत लो बेसिकली समझ लो सेम टाइप का जो सेम टाइप का जो भी कंटेंट है चच इज क्लास होते है हमारे पास इंटरफेस भी होते अभी हम पढ़ेंगे एब्स्ट्रेक्शन के अंदर इंटरफेस होते हैं इसके अलावा इमेशन और नोटेशन बहुत इंपोर्टेंट है नहीं ठीक है नोटेशन तो बिल्कुल यूज नहीं होते नमरे होते हैं लेकिन वो इमेशन भी बहुत ज्यादा काम के नहीं है अगर हम डीएसए की बात करें सिर्फ डेवलपमेंट के अंदर थोड़े बहुत यूज हो रहे होते हैं लेकिन ये सब चीजें बेसिकली आपको ऑब्जेक्ट वगैरह बनाने के काम में आती है राइट रिलेटेड टाइप के डाटा को एक फोल्डर में आप डालते हो कई बार आपने देखा होगा आप अपने काम कर रहे हो तो आप चाहते हो कि चीजों को सही से ग्रुप करना आपके पास बहुत सारी वीडियोस है सपोज करो तो आप अपनी सारी वीडियोस को अलग-अलग फड फोल्डर्स में डालना चाहोगे राइट कुछ मूवीज हैं कुछ टीवी शोज हैं आप ऐसे ही नहीं छोड़ दोगे उनको आप अलग-अलग फोल्डर्स में डालोगे तो सेम टाइप के डाटा को आप अलग-अलग फोल्डर्स में डाल रहे हो और वो फोल्डर्स हमारे यहां पर पैकेजेस होते हैं ठीक है टू डिफाइन अ पैकेज इन जावा यू यूज द कीवर्ड पैकेज तो कीवर्ड हमें यूज करना पड़ता है एक पैकेज नाम का टू डिफाइन अ पैकेज इन जावा तो बेसिकली जब भी आप किसी क्लास को बोल रहे हो कि ये इस पैकेज के अंदर है तो आपको उस क्लास के अंदर पैकेज कीवर्ड की हेल्प से बताना पड़ेगा कि आई एम गोइंग इनसाइड दिस पैके इज सीधा सिर्फ फोल्डर के अंदर कोई फाइल डाल देने से वह पैकेज के अंदर उसी टाइम कंसीडर नहीं हो जाएगी आपको उस फाइल के अंदर बताना पड़ेगा कि ये किस पैकेज के अंदर है ठीक है जावा यूस द फाइल सिस्टम डायरेक्टरीज टू स्टोर पैकेजेस तो जावा अपने आप ही ऑटोमेटिक फाइल सिस्टम डायरेक्टरीज को यूज करता है टू डिफाइन पैकेजेस तो आप कॉम पैक जैसे यहां पर देखो यहां क्या हो रहा है कॉम नाम का फोल्डर है उसके अंदर एक टेस्ट नाम का फोल्डर है उसके अंदर एक टेड जावा फाइल बनाई आपने ठीक है तो अगर आपको इन दोनों को पैकेजेस बनाने हैं कॉम और टेस्ट को पैकेज बनाना है तो वट यू हैव टू डू इज इस तरीके से लिख दो पैकेज कॉड t तो हां पर भी आप क्लास टेस्ट डिफाइन कर रहे हो ये आपकी फाइल है दिस फाइल इज . j राइट यह फाइल हमारी . j फाइल है तो यह जो फाइल है इसके अंदर सबसे पहली लाइन जो है वह आपने लिखी है इस तरीके से पैकेज उसके बाद फिर पैकेज का पूरा का पूरा पाथ तो आप एकदम ऊपर से स्टार्ट करते हो कॉड t और उसके बाद उस पैकेज के अंदर आपने ये फाइल डिफाइन कर दी तो ये था सिंपल अभी तक बस डिफाइन करने वाला पार्ट कि पैकेज आप कैसे डिफाइन करते हो जैसे अभी तक हम देखते हैं अ ऑलरेडी इतनी सारी चीजें बना रखी है मैंने राइट जैसे आज हम इस वाले पैकेज में काम करने वाले हैं पैकेजेस एंड एनकैप्सूलेशन लेकिन अगर आप किसी और के अंदर देखो फॉर एग्जांपल पस 2 में जाओ आप तो टू के अंदर आप देखोगे मैंने यहां पे कार्ड और जावा बना रखा है राइट और इसके अंदर अगर हम जाएं तो आप देखोगे ये मेरी पब्लिक क्लास कार है और ये इस पैकेज के अंदर ऑलरेडी है पैकेज उप्स टू राइट तो अभी तक हमने पैकेज पढ़ा नहीं था लेकिन यूज हम ऑलरेडी कर चुके हैं पैकेज को और ये जितने भी मैंने पैकेजेस बना रखे हैं उन सभी के अंदर कुछ-कुछ क्लासेस हैं उनमें ऑलरेडी ये पैकेज वाली लाइन लिखी जा चुकी है तो आज थोड़ी सी और क्लियर होगी य पैकेज वाली लाइन के लिखते हैं बेसिकली आप बता रहे हो कि यह जो क्लास है यह इस वाले पैकेज के अंदर है जावा को आप पूरा का पूरा पाथ बता रहे हो अपनी फाइल का ठीक है सो अगर आप कभी भी जावा के अंदर किसी फाइल को रन करोगे तो उसको पता रहे कि मुझे किस पैकेज के अंदर घुसना है इस फाइल को रन करने के लिए तो इसीलिए आप पूरा पूरा पैकेज डिफाइन करते हो लेकिन पैकेज के कुछ और भी फायदे होते हैं जो अभी हम देखेंगे तो अभी हम जाते हैं इसके अंदर आई थिंक आई शुड रिनेम दिस और मैं इसका नाम रख दूंगा उप्स थ तो इसका हो का नाम उप्स 3 और इसके अंदर अब मैं क्या करूंगा एक नया पैकेज बनाता हूं ठीक है तो टू क्रिएट अ पैकेज बस यहां पर राइट क्लिक किया और पैकेज पर क्लिक किया अब आप यहां पर देखो ये लिखा आ रहा है पस 3 डॉट राइट तो ये कह रहा है मुझे ् 3 के अंदर आप कोई पैकेज बनाना चाहते हो क्या तो मैं इसके अंदर पैकेज बनाता हूं लर्न पैकेज तो इस टाइप से मैंने एक पैकेज बना लिया अब लर्न पैकेज एक ऐसा पैकेज है जिसके अंदर मैं लर्न पैकेज के अराउंड जो भी चीजें होंगी वो सब स्टोर करूंगा तो बेसिकली पैकेज का नाम भी आपको इस तरीके से रखना होता है कि आप बताते हो इस पैकेज के अंदर इस टाइप की चीजें जाएंगी ये डीएससी के अंदर तो इतना इंपोर्टेंट नहीं है बिकॉज डीएससी के अंदर आपकी नॉर्मल एक फाइल होती है उसी के अंदर आप काम कर रहे होते हो लेकिन जावा डीएसए के अलावा डेवलपमेंट में भी है भी नहीं यूज होता है राइट तो जैसे आप कभी कोई सर्वर बना रहे हो तो उस सर्वर के अंदर आपके पास कंट्रोलर्स होते हैं आपके पास मॉडल्स होते हैं आपके पास सर्विसेस होती है तो आप कंट्रोलर्स को एक फोल्डर में डालते हो मॉडल्स को एक फोल्डर में डालते हो सर्विसेस को एक फोल्डर में डालते हो तो आप क्या कर रहे हो बेसिकली आप सेम टाइप के कंटेंट को एक फोल्डर में डाल के उसको पैकेज के अंदर डाल के बता रहे हो कि ठीक है इस टाइप का डाटा सिर्फ यहां पड़ा होगा इस टाइप का डाटा यहां पड़ा होगा तो वहां पर भी आप पैकेजेस डिफाइन कर रहे होते हो राइट वहां पर वो ज्यादा सेल्स बनाते है बिकॉज वहां पर बहुत सारी फाइल बन जाती है आपकी एक प्रोजेक्ट के अंदर यहां पर तो क्या है आपको इंटरव्यूअर ने एक क्वेश्चन पूछा तो आपकी बस एक फाइल बनती है उसके लिए राइट तो यहां इतना ध्यान नहीं देते हम लेकिन आपको पता रहनी चाहिए चीजें अब जैसे मैं इसके अंदर एक क्लास बनाऊंगा और इसका नाम मैं रख देता हूं लेट्स से मेन क्लास तो यहां पर आप ऊपर देखोगे ये क्या लिखा हुआ है पैकेज उसके बाद थड र्न पैकेज यह इंटेलीज ने अपने आप लिख दिया हमारे लिए लेकिन आपको यह खुद लिखना पड़ेगा अगर आप नोट पैड वगैरह के अंदर या फिर एकदम स्क्रैच से बना रहे हो तो राइट कोई फाइल वैसे तो वो मैं रिकमेंड नहीं करूंगा कि एकदम ही नोट पड के अंदर आप लोग करने कर करने बैठे हो काम ऐसा कुछ ना कुछ टूल आईडी वगैरह होनी चाहिए जिसके अंदर ये सब चीजें तो एटलीस्ट अपने आप हो ही जाए करें राइट अब इसके अंदर बनाएंगे पब्लिश स्ट वॉइड मेन और अब आपने देखा इस पैकेज के अंदर यह हमारी पब्लिक स्टडी वॉइड में फाइल बन चुकी है अब हम इसी पैकेज के अंदर चाहे तो एक और क्लास बना सकते लेट्स क्रिएट अनदर क्लास और मैं यहां पर बनाऊंगा लेट्स से क्लास पर्सन बना लिया हमने ठीक है तो यह मेरी क्लास पर्सन है और यह भी मेरे लर्न पैकेज वाले के अंदर ही है आप देख रहे हो ड लर्न पैकेज के अंदर इसके अलावा मैं चाहूं तो एक और क्लास बना सकता हूं इसके अंदर लेट्स क्रिएट अनदर क्लास इसका नाम रख देते हैं लेट्स से टीचर तो मैंने एक और क्लास बना दी टीचर नाम से तो यह सारी सारी जो क्लासेस मैं बना रहा हूं यह अभी फिलहाल आप देख रहे हैं पर्सन टीचर मेन क्लास ये सब के सब हमारे ् 3 लर्न पैकेज वाले पैकेज के अंदर ही है अ तो इस तरीके से आप पैकेज बनाते हो और इस तरीके से आप पैकेज को लिख रहे होते हो टू डिफाइन अ पैकेज हमने ये देख लिया पैकेज कीवर्ड इसके बाद आगे बढ़ते हैं इंपोर्टिन अ पैकेज तो पैकेज का फायदा क्या हुआ पैकेज का फायदा यह है कि आपने कोई चीज बना ली है और आपने एक बार वोह चीज बना ली अब आपको किसी और जगह वो यूज़ करनी है किसी पैकेज में आपने कोई काम कर दिया अब वह काम आपको किसी और पैकेज में यूज़ करना है तो आप सीधा यूज़ नहीं कर सकते उसके लिए आपको उसे इंपोर्ट करना पड़ेगा राइट पैकेज को इंपोर्ट करके लाना पड़ेगा फॉर एग्जांपल आपकी कंट्री के अंदर तेल ज्यादा नहीं है आपकी कंट्री में सपोज करो पानी ज्यादा है लेकिन किसी और कंट्री में तेल ज्यादा है तो अगर उस कंट्री को पानी चाहिए तो वह आपसे इंपोर्ट करा रहा होगा ठीक है आपसे बोल रहा होगा कि इंडिया से पानी इंपोर्ट कर लेते हैं ठीक है या फिर वो उसके पास अगर उसके पास तेल है उसको एक्सपोर्ट करना है तो तेल को एक्सपोर्ट कर देगा दूसरी कंट्री के अंदर तो उसकी कंट्री के अंदर पानी नहीं है लेकिन वो पानी को ऐसे इंपोर्ट करा लेता है अपने पास क्योंकि उसे यूज करना है पानी को राइट अपनी कंट्री में बांटना है पानी अपनी क्लास के अंदर वो पानी बांटना है तो वहां पर इंपोर्टिसंस पोर्ट आप यहां पर भी कर सकते सते हो कि आपने एक क्लास के अंदर कुछ चीजें डिफाइन कर द है कुछ बिहेवियर कुछ प्रॉपर्टीज डिफाइन कर दी है अब आप चाहते हो कि वो प्रॉपर्टीज वो बिहेवियर्स दूसरी क्लासेस यूज कर सके ठीक है दूसरे लोग बाहर के लोग यूज कर सके तो वो सीधा ऐसे यूज नहीं करेंगे उनको पहले इंपोर्ट करना पड़ेगा ठीक है तो इंपोर्ट कराने के लिए आपको एक इंपोर्ट कीवर्ड यूज करना पड़ता है जावा के अंदर तो जावा हैज एन इंपोर्ट स्टेटमेंट दैट अलाउ यू टू इंपोर्ट एन एंटायस और यूज ओनली सर्टेन क्लासेस एंड इंटरफेस डिफाइंड इन पैकेज अब जैसे अ वो ऑयल का एग्जांपल ले लेता ऑयल के साथ-साथ आप ऑयल के अंदर मल्टीपल चीजें होती है सपोज करो जैसे पेट्रोलियम हो गया या फिर और भी मल्टीपल चीज हो गई डीजल हो गया ठीक है और साथ में लेट्स से नेचुरल गैस हो गई तो अ इसमें से क्या-क्या चाहिए हमें क्या हमें सारा का सारा पेट्रोलियम चाहिए पूरा का पूरा ऑइल चाहिए तो अगर सारा का सारा चाहिए तो आप पूरा का पूरा पैकेज इंपोर्ट करा लो लेकिन क्या आपको सिर्फ पेट्रोल पेट्रोल चाहिए तो अगर सिर्फ पेट्रोल चाहिए तो सिर्फ आप चाहो तो पेट्रोल पेट्रोल इसके अंदर से इंपोर्ट करा सकते हो या फिर सिर्फ सिर्फ डीजल इंपोर्ट करा सकते हो राइट तो चाहो तो आप पूरा का पूरा पैकेज करा लो या फिर इस पैकेज के अंदर के छोटे-छोटे जो कंपोनेंट है उनको भी करा सकते हो इंपोर्ट आपकी मर्जी है आपके ऊपर डिपेंड करता है कि आपको किस चीज से काम है अगर आपको तीनों ही चीजों से काम है तो आप पूरा का पूरा पैकेज ही इंपोर्ट करा लो क्योंकि उसके अंदर अपने आप ही वो तीनों चीजें आपको मिल जाएंगी अगर आपको दिख रहा है कि मुझे सिर्फ एक ही चीज से काम है तो आप वो एक ही चीज इंपोर्ट कराओ ग ठीक है तो सेम कांसेप्ट यहां पर भी है कि आप चाहो तो पूरा का पूरा पैकेज इंपोर्ट करा लो फॉर एग्जांपल अगर java.io पैकेज मुझे पूरा का पूरा इंपोर्ट कराना है जैसे यहां पर देखो ये पैकेज है java.io अब इस आओ पैकेज के अंदर हो सकता है मल्टीपल क्लासेस हो राइट अगर एक पैकेज के अंदर की सारी की सारी क्लासेस मुझे एक्सेस करनी है तो मैं उसका आगे इस तरीके से स्टार लगा दूंगा यह स्ट स्टार बेसिकली वाइल्ड कार्ड होता है और यह सारा का सारा कंटेंट जावा ड आओ के अंदर जो भी कंटेंट होगा वह सारा का सारा कंटेंट आपकी क्लास के अंदर लेके आ जाएगा ठीक है वहीं पर अगर आपको कुछ स्पेसिफिक चीज इंपोर्ट करानी है फॉर एग्जांपल जावा ड यल के अंदर से अगर आपको सिर्फ डेट क्लास इंपोर्ट करानी है जैसे डेट क्लास होती है जिससे कि आप लोग डेट के ऑब्जेक्ट बना सकते हो जावा के अंदर तो आप java.dll अंदर स्कैनर नहीं है तो इसको यूज करना है तो कहां से कहीं ना कहीं से इंपोर्ट कराना पड़ेगा तो इसे पता होना चाहिए किस पैकेज के अंदर यह स्कैनर क्लास है कि किस पैकेज की स्कैनर क्लास मुझे लेके आनी है अच्छा यहां पर ये भी हो सकता है कि ये स्कैनर क्लास मल्टीपल पैकेजेस के अंदर हो अलग-अलग पैकेजेस ने स्कैनर क्लास बना रखी हो सकती है ऐसा हो सकता है कि अलग-अलग पैकेजेस के अंदर अलग-अलग स्कैनर क्लास हो कोई इसमें बड़ी बात नहीं है आपको पता रहना चाहिए कि मुझे किस पैकेज की स्कैनर क्लास उठा के लानी है राइट आप पेट्रोलियम हो सकता है मल्टीपल कंपनीज वहां पर बेच रही हो ठीक है एक कंट्री के अंदर मुझे पता होना कि मुझे किस कंपनी का पेट्रोलियम उठा के लाना है ठीक है तो मुझे उसका पूरा का पूरा एड्रेस पता होना चाहिए तो मैं वहां से इंपोर्ट करा लूंगा फिर राइट तो सेम कांसेप्ट यहां पर है कि अगर आपको ऐसे स्कैनर को इंपोर्ट कराना है तो आपको पता रहना चाहिए कि स्कैनर कहां से मिलेगा और मुझे पता है कि स्कैनर मुझे मिलेगा इंपोर्ट जावा ड यूल डॉट स्कनर इस तरीके से तो देखो नीचे से व एरर चला गया ठीक है तो मुझे सिर्फ स्कैनर क्लास करानी थी तो इसलिए मैंने लिखा जावा यनर अगर मुझे यल के अंदर से कुछ और भी चीज करानी है जैसे कि मुझे पता है जावा ड यल के अंदर एरे लिस्ट भी होती है लिस्ट भी होती है तो अगर मुझे वो भी करानी है तो मैं यहां पर स्टार लगा सकता हूं इस तरीके से तो अभी भी नीचे कुछ एरर नहीं आएगा क्योंकि स्कैनर तो इंपोर्ट हो ही गया लेकिन इसके अलावा अगर आपको कभी लिस्ट भी बनानी है लिस्ट ऑफ ले से इंटी जर अब ये लिस्ट कैसे बन गई यहां पर लिस्ट तो आपने पढ़ा ही नहीं तो मैं बोलूंगा लिस्ट पढ़ा दूंगा मैं आपको टेंशन मत लो लिस्ट वगैरह हम इसके बाद उपस के जस्ट बाद कलेक्शन फ्रेमवर्क में मूव कर रहे होंगे वहां पर हम ये सब पढ़ रहे होंगे लेकिन य लिस्ट जो होती है और ये जो एरे लिस्ट क्लास है ये दोनों की दोनों क्लासेस कहां से आई ये दोनों की दोनों क्लासेस भी हमारे पास ऑलरेडी प्रेजेंट है j.d. ड स्नर तो ऊपर वाली लाइन तो कोई एरर नहीं देगी मुझे लेकिन देखो नीचे वाली लाइन ने एरर दे दिया बिकॉज़ लिस्ट और एर लिस्ट तो मिले नहीं तो आप चाहो इनको इंडिविजुअल भी इंपोर्ट करा सकते हो इंपोर्ट कराने के लिए एक और चीज है ऑप्शन एंटर या फिर ऑल्ट एंटर करोगे तो उससे भी इंपोर्ट अपने आप हो जाता है इसके अंदर देखो अपने आप ही एरे लिस्ट इंपोर्ट हो गया उसके बाद लिस्ट पे जाओगे लिस्ट के ऊपर जाके यहां पे आपने अपना माउस रखा उसके बाद ऑप्शन एंटर या फिर ऑल्ट एंटर उसके बाद इंपोर्ट क्लास तो यहां पर देखो आपने तीन लाइनों में इंपोर्ट किया इस तरीके से तो आपको ये तीन चीज चाहिए थी क्योंकि यल के अंदर बहुत सारी चीजें होती है तो अगर आपको सिर्फ तीन चीजें चाहिए तो आप ऐसे तीन लाइनों में इंपोर्ट करा सकते हो अगर आपको सारा का सारा चाहिए तो एक लाइन में भी आप पूरा का पूरा इंपोर्ट करा सकते हो आपको पता है कैसे इंपोर्ट जावा डट यल डट स्टार तो इससे वो सफर एरर चले गए और आप तीन लाइन के अंदर य एक लाइन का काम कर पाए आप बोलो दोनों में डिफेंस क्या बोलूंगा दोनों में कुछ भी डिफरेंस नहीं है आप ऐसे भी इंपोर्ट करा सकते हो ऐसे भी इंपोर्ट करा सकते हो आपकी मर्जी है ठीक है डीएसए की जहां तक बात है तो दोनों में कुछ फर्क नहीं है अ इन जावा द इंपोर्ट स्टेटमेंट इज रिटन डायरेक्टली आफ्टर द पैकेज स्टेटमेंट एंड बिफोर द क्लास डेफिनेशन तो यह एक इंपॉर्टेंट चीज है कि जो ये इपोर्ट इंपोर्ट स्टेटमेंट है यह आप पैकेज के बाद और क्लास के पहले लिखोगे ठीक है तो इंपोर्ट स्टेटमेंट हमेशा पैकेज के बाद और क्लास के बीच में आनी चाहिए तो किसी ना किसी क्लास के अंदर ही आप इंपोर्ट स्टेटमेंट लिखोगे जैसे यहां पर ये क्लास है हमारी मेन क्लास राइट तो पब्लिक क्लास मेन क्लास से पहले और पैकेज के डिक्लेरेशन के बाद आप यहां पर बीच में इंपोर्ट स्टेटमेंट लगा सकते हो जितनी मर्जी तो यहां पे आप जितनी मर्जी चीजें इंपोर्ट कर सकते हो और उनको आप फर्द फिर यूज कर सकते हो यहां पे इस क्लास के अंदर ठीक है ये तो सिंपल था तो इस तरीके से आप इंपोर्ट कर रहे हो तो इंपोर्ट का फायदा समझ में आ गया होगा कि हर क्लास के पास अपना अपना कुछ-कुछ डाटा है हर क्लास के पास हर पैकेज के पास अपना अपना कुछ कुछ डाटा है और रिलेटेड डेटा सबने अपने पास रखा हुआ है राइट एक कंट्री ने अपना खुद का डाटा रखा हुआ है दूसरी कंट्री ने अपना डाटा रखा हुआ है लेकिन अभी कभी किसी को किसी दूसरे कंट्री के डाटा की रिक्वायरमेंट अगर हो जाती है तो वो स्टिल ये चीजें कर सकते हैं बस उनको इंपोर्ट कर लेना है वो चीज ठीक है इंपोर्ट कर लो बस तो अभी तक हमने जितना भी इंपोर्ट देखा वो था स्कैनर के अंदर लिस्ट वगैरह के अंदर तो ये सब तो प्री डिफाइंड क्लासेस है जावा ने जो हमें दे रखी है लेकिन आप चाहो तो अपनी खुद की भी क्लासेस बना सकते हो और उसके अंदर से भी इंपोर्ट या एक्सपोर्ट कर सकते हो चीजों को फॉर एग्जांपल ये मैंने पर्सन क्लास बनाई है राइट और इस क्लास के अंदर लेट्स सपोज मेरे पास एक एज है इंट एज हर पर्सन की कुछ एज हो सकती है और लेट्स से स्ट्रिंग नेम हर पर्सन का कुछ नेम भी हो सकता है राइट अब इस पर्सन क्लास के अंदर से मुझे एज को इंपोर्ट या एक्सपोर्ट करना है तो वो मैं कैसे कर सकता हूं तो बेसिकली उस जगह पर काम में आते हैं हमारे एक्सेस मॉडिफाई बताते हैं कि यह क्लास किन-किन चीजों को पब्लिक कर रही है किन-किन चीजों को प्राइवेट रख रही है किन-किन चीजों को छुपा रही है ठीक है अब हो सकता है ना कि किसी कंट्री ने लगा दिया सक्शन कि नहीं भाई हम तो अपने राइस को कहीं पर एक्सपोर्ट नहीं कर रहे हमारे राइस जो है वह हमारे पास ही रहेंगे तो उसने राइस के ऊपर प्राइवेट कर दिया कि यह राइस हमारी कंट्री में रहेगा कहीं और नहीं जा सकता तो कोई कंट्री अगर इंपोर्ट लगा भी दे ठीक है कोई कंट्री अगर इंपोर्ट जैसे अभी कोई और क्लास अगर इंपोर्ट करने का ट्राई करेगा भी लेकिन क्योंकि वह प्राइवेट फील्ड है किसी और कंट्री के अंदर तो वो उसको इंपोर्ट नहीं कर सकता राइट अगर इंडिया ने बोल दिया कि ठीक है हमारे चावल कहीं और नहीं जाएंगे तो उसने बेसिकली बोल दिया प्राइवेट कि यह हमारे हैं और हमने इनको प्राइवेट कर दिया है अपनी कंट्री के लिए ठीक है हमारी कंट्री के लोग यूज़ कर सकते हैं इसको अ लेकिन बाहर हम इसे एक्सपोर्ट नहीं कर रहे हैं तो अगर आप चाहते हो रिस्ट्रिक्टर इस तरीके से चीजों को तो आप वहां पर उनको उनके पास एक्सेस मॉडिफाइड डिफाइन कर सकते हो एक्सेस मोडिफाय बेसिकली एक्सेस को मॉडिफाई करने के काम में आते है कि किसी चीज की आप एक्सेस कैसे देना चाहते हो क्या उसको आप पब्लिक करना चाहते हो क्या आप उसको प्राइवेट करना चाहते हो और भी मल्टीपल चीजें होती है वो हम समझते हैं जरा ठीक है तो वहां पे हमारे काम में आते हैं एक्सेस मॉडिफाइड फायर की जरूरत क्या है तो बेसिकली आप अपनी खुद की क्लासेस की चीजों को पब्लिक प्राइवेट रखना चाहते हो सो दैट आप अपनी क्लासेस की चीजों को अ दूसरों को दे सको दूसरी क्लासेस को दे सको अभी तक हमने जो देखा था अ व्हिच इज स्कैनर क्लास या एरे लिस्ट क्लास इन्होंने पब्लिक रखा हुआ है सब कुछ ठीक है इन्होंने बोल रखा है कि हम तो भाई अ पूरी दुनिया के लिए हमने पब्लिक छोड़ा हुआ है कोई भी क्लास हमें यूज़ कर सकती है ठीक है कोई भी क्लास आएगी हमें आराम से इंपोर्ट कर सकती है लेकिन कई बार आप अपने कोड में चाहते हो कि कुछ चीजों को हम प्राइवेट रखें अपनी क्लास तक या फिर अपने पैकेज तक तो वह चीज हम कैसे अचीव कर सकते हैं उसके लिए हमारे एक्सेस मॉडीफाय होते हैं ठीक है तो जरा एकएक करके समझते हैं यहां पर लिखा हुआ है इन जावा एक्सेस मॉडिफाइड टू सेट द एक्सेसिबिलिटी या फिर विजिबिलिटी ऑफ क्लास इंटरफेस वेरिएबल मेथड कंस्ट्रक्टर डेटा मेंबर्स एंड सेटर मेथड्स तो बेसिकली क्लास के अंदर जितनी भी चीजें होती है ठीक है क्लास तो होती है लेकिन इसके अलावा इंटरफेस भी होते हैं जो हम पढ़ेंगे बाद में वेरिएबल मेथड कंस्ट्रक्टर ये सब हमने पढ़ रखे हैं ऑलरेडी तो वेरिएबल मेथड कंस्ट्रक्टर और बाकी जो डाटा मेंबर्स होते हैं उनके अंदर आप चाहो तो उनको पब्लिक या प्राइवेट कर सकते हो और उसके हिसाब से आप उनकी एक्सेस को ब्लॉक कर सकते हो दूसरी क्लासेस के लिए अब यहां पर किस-किस तरीके से हम कर सकते हैं तो जैसे यहां पर देखो पब्लिक लिखा हुआ है पब्लिक लिखा हुआ है क्लास एनिमल के अंदर मेथड वन के अंदर तो इसका मतलब क्लास एनिमल बोल रही है कि जो मेथड वन है यह पब्लिक है तो अगर कोई और क्लास से भी एनिमल का ऑब्जेक्ट बनाता है तो उसके अंदर वो मेथड वन कॉल कर सकता है बिकॉज मेथड वन इज पब्लिक यह हमने बोल रखा है कि इसको हमने एक्सपोर्ट कर रखा है कोई भी इसको इंपोर्ट कर सकता है ठीक है तो मेथड वन इज पब्लिक वहीं पर हमने मेथड टू को प्राइवेट बना रखा है यहां पर देखो इसका मतलब अगर कोई और क्लास के अंदर आप एनिमल ऑब्जेक्ट बनाते हो और आप मेथड टू कॉल करने का ट्राई करते हो तो आप उसको नहीं कॉल कर पाओगे बिकॉज ये हमने प्राइवेट बोला हुआ है ये हमने बोला हुआ है कि कोई और क्लास तो यूज नहीं कर सकते सिर्फ हमारी क्लास ही यूज कर सकते हैं इसे ठीक है तो धीरे-धीरे समझेंगे इसको कितने टाइप के एक्सेस मोडिफाय होते हैं हमारे पास तो टोटल चार टाइप के होते हैं एक होता है डिफॉल्ट एक होता है प्राइवेट एक होता है प्रोटेक्टेड और एक होता है पब्लिक तो पब्लिक के अंदर तो आपको दिख रहा होगा तो एक बार जरा क्लास वगैरह समझने के लिए ना एक एग्जांपल देखते हैं तो सपोज करो ये आप हो ठीक है और सपोज करो यह आपके पापा है ठीक है तो ये आप हो सन और यह फादर ठीक है सन और फादर तो बेसिकली फादर से सन ने कुछ कुछ चीजें एक्सटेंड करके ठीक है तो सन इज एक्सटेंडिंग टू फादर बिकॉज इन्हेरिटेंस चल रही है यहां पर तो पूरी की पूरी इज ए रिलेशनशिप है तो यहां पर इन्हेरिटेंस चल रही है और अब आपका सपोज करो एक चाचा का लड़का भी है तो दिस इज योर अंकल ठीक है और यह आपका कजन है यह अंकल है आपके कजन है और यह चाचा का लड़का चाचा जी है और इनके अंदर भी यह वाला रिलेशन चल रहा है राइट बिकॉज इसके तो पापा ये हैं और आप सारे के सारे एक घर में रहते हो इस तरीके से ठीक है सिंपल था अभी तक यह सारे आप एक घर में रह रहे हो तो यहां पर अब आप समझ पाओगे चीजों को एक्सेस मोडिफाय को अब यहां पर समझो कि सपोज करो ये जो घर है ये घर आपका एक पैकेज है और यह जो मैंने डब्बे बना रखे हैं अंदर यह सब के सब क्लास है और यहां पर जो चल रहा है सन टू फादर और ये सन टू फादर ये बेसिकली यहां पर इन्हेरिटेंस चल रही है ठीक है यहां भी इन्हेरिटेंस चल रही है यहां भी इन्हेरिटेंस चल रही है तो ये सब के सब एक घर के अंदर रह रहे हैं हम अब आपके पास हो सकता है कुछ चीजें आपके पास कुछ डाटा है राइट आपके पास अपना सपोज करो अपना खुद का फोन है आप चाहते हो कि व फोन अ कोई भी एक्सेस ना कर पाए इस पैकेज के अंदर या फिर बाहर की दुनिया का भी कोई बंदा ठीक है यह घर आपका है लेकिन आपके घर जैसा सपोज करो दूसरा घर बगल में भी है राइट जिसके अंदर कुछ और लोग रहते हैं इस घर में कोई और क्लास रहती है इस घर में कोई और लोग रहते हैं राइट तो यह दूसरा पैकेज है तो घर का मतलब पैकेज अब आपके पास कुछ डाटा है जो आप चाहते हो कि सिर्फ आप ही एक्सेस कर पाओ आपके पापा भी एक्सेस ना कर पाए और कोई और भी ना एक्सेस कर पाए तो आप उस चीज को प्राइवेट बना दोगे ठीक है तो प्राइवेट तो सिंपल है प्राइवेट चीज का मतलब कि एक क्लास ही उसको एक्सेस कर सकती है उस क्लास के बाहर कोई और उसे एक्सेस नहीं कर सकता सता है ये काम कैसे करेगा जरा समझते हैं बट उससे पहले मैं बता देता हूं कि अगर आपने उसी चीज को किसी चीज को पब्लिक बना दिया अपनी अंदर रखते हुए आपने बोल दिया कि इसकी एक्सेस सबके पास होनी चाहिए तो आप उसको पब्लिक बना सकते हो पब्लिक करने का मतलब आपके पापा अंकल चाचा और इसके अलावा बाहर का भी कोई बंदा रैंडम कोई बंदा है ये रैंडम बंदा भी एक्सेस कर सकता है अगर कोई चीज पब्लिक बना दिया तो ठीक है तो पहले प्राइवेट और पब्लिक समझ लेते हैं उसके बाद फिर प्रोडक्ट और डिफॉल्ट भी समझ लेंगे तो यहां पर आते हैं हमारे पास एक पर्सन क्लास है जिसके अंदर ये दो प्रॉपर्टी है इंट एज और स्ट्रिंग नेम इसके अलावा हमारे पास एक टीचर है और इस टीचर के पास सो कर अपनी खुद के कुछ प्रॉपर्टी है फॉर एग्जांपल टीचर कौन सी क्लास को पढ़ाता है तो टीच क्लास ठीक है टीचिंग क्लास तो इसके पास यह वाली प्रॉपर्टी है अब हम चाहते हैं कि इस टीचर के पास यह वाली जो प्रॉपर्टी है ना इसको हम पब्लिक करना चाहते हैं तो आप बस यहां पर आओगे और लिख दोगे पब्लिक पब्लिक करने का मतलब यह जो टीचिंग क्लास चीज है ठीक है कि आप किसी भी टीचर के अंदर की उसकी टीचिंग क्लास पता लगा सकते हो कि वो कौन सी क्लास के अंदर पढ़ा रहा है राइट तो इसने यह वाली प्रॉपर्टी अपनी पब्लिक कर दिया लेकिन सपोज करो ये कुछ प्रॉपर्टीज को अपनी प्राइवेट भी रखना चाहता है फॉर एग्जांपल टीचर के पास एक और प्रॉपर्टी है व्हिच इज हिज आईडी और टीचर बोलना चाहता है कि मेरी जो आईडी है यह प्राइवेट रहनी चाहिए तो अब हमने यहां पर टीचर की आईडी को प्राइवेट कर दिया है इसका मतलब अगर इस टीचर की आईडी को आप बाहर से कभी कहीं से एक्सेस करना चाहते हो फॉर एग्जांपल सपोज करो मेन क्लास से आप एक्सेस करने का ट्राई कर करते हो तो मैं ये दोनों चीजें यहां से हटाता हूं और लेट्स क्रिएट एन ऑब्जेक्ट ऑफ टीचर क्लास तो टीचर ऑब्जेक्ट इक्वल टू न्यू टीचर इस तरीके से और अगर आप टीचर के अंदर इस ऑब्जेक्ट के अंदर टीचिंग क्लास कोस करना चाहते हो तो आप बता सकते हो कि इस ऑब्जेक्ट इस टीचर की टीचिंग क्लास लेट्स से अ 12थ क्लास को पढ़ाता है ये लेकिन अगर आप उसकी आईडी को सेट करना चाहते हो या फिर गेट करना चाहते हो तो आप वो चीज नहीं कर सकते राइट कि अगर आप ऑब्जेक्ट टीचर की आईडी को एक्सेस करना चाहते हो तो वो आप नहीं कर सकते बिकॉज यहां पर एरर आ रहा है आईडी हैज प्राइवेट एक्सेस इन दिस तो इसी वजह से यह आईडी बाहर कहीं और एक्सेस नहीं हो पा रही है लेकिन अगर आपको यही सेम चीज एक्सेस करनी है इस टीचर क्लास के अंदर तो सपोज करो अब मैं टीचर क्लास के अंदर गया इसके अंदर भी मैंने पब्लिक स्टडी वॉइड बन बनाया और इसके अंदर मैंने सेम कोड कॉपी पेस्ट कर दिया तो यहां पर अलाउड है देखो टीचर क्लास के अंदर ऑब्जेक्ट ड आईडी अलाउड है बिकॉज आप इसी टीचर क्लास के अंदर कर रहे हो तो अगर किसी ने बोल रखा है कि ये सिर्फ मेरे लिए होनी चाहिए किसी और बाहर की दुनिया के लिए नहीं होना चाहिए तो मैं उसको बना दूंगा प्राइवेट कि इसको सिर्फ मैं ही मॉडिफाई कर सकता हूं इसको सिर्फ मैं ही चेंज कर सकता हूं इसको सिर्फ मैं ही एक्सेस कर सकता हूं कोई और बाहर का बंदा एक्सेस नहीं कर सकता है तो आई विल मेक इट प्राइवेट यहां पर देखा हमने कि ये जो आईडी है यह प्राइवेट है आईडी एक्सेस नहीं हो पा रही है इस टीचर क्लास के बाहर तो प्राइवेट का फंडा समझ में आ गया इसके अलावा पब्लिक का फंडा ये होता है कि अगर आपने इसको पब्लिक कर दिया है जैसे यहां पर हमने पब्लिक कर दिया है तो आप इस पैकेज के अंदर तो एक्सेस कर ही पा रहे हो अब यहां पर देखो लर्न पैकेज नाम का पैकेज हमने बनाया है और इसके अंदर यह टीचर क्लास है तो इस पैकेज के अंदर तो ये अवेलेबल रहेगा ही लेकिन सपोज करो मैंने ओ 3 के अंदर एक और पैकेज बना लिया तो अब मैं ओ 3 के अंदर एक और नया पैकेज बनाऊंगा तो न्यू पैकेज लेकिन यह लर्न पैकेज के अंदर नहीं होगा यह ओ के अंदर अनदर पैकेज होगा ठीक है पैकेज टू नाम रख देते हैं पैकेज टू तो ी के अंदर मैंने एक और पैकेज बनाया और इसके अंदर मैं एक क्लास बनाऊंगा मेन इन पैकेज टू तो ये मेरी मेन क्लास है पैकेज टू के अंदर और पब्लिक स्टैटिक वॉइड मीन और इसके अंदर मैं टीचर क्लास का ऑब्जेक्ट बनाऊंगा तो टीचर ऑब्जेक्ट इक्व टू न्यू टीचर सबसे पहले तो मुझे यहां पर इसे इंपोर्ट कराना पड़ा देखो सबसे पहले तो मैंने o 3np तब तो मुझे ऐसा करने की जरूरत नहीं है लेकिन अगर मैं अपने पैकेज के बाहर कहीं से बुला रहा हूं उसे अगर मेरे घर में ही है तो मुझे इंपोर्ट कराने की जरूरत नहीं है लेकिन अगर मेरे घर के बाहर से मुझे कहीं से उसे बुलाना पड़ रहा है तो मुझे इंपोर्ट कराना पड़ेगा बेसिकली आप ऐसे समझ सकते हो कि अगर मेरे घर के अंदर ही कोई रिपेयर कर सकता है नल को तो वो नल को ठीक कर देगा मुझे उससे अपॉइंटमेंट लेने की जरूरत नहीं है लेकिन अगर मुझे मेरे घर में कोई ठीक नहीं कर सकता मुझे बाहर से किसी को बुलाना पड़ रहा है तो मुझे अपॉइंटमेंट लेनी पड़ेगी राइट मुझे उसे इंपोर्ट कराना पड़ेगा पहले तो वही सेम चीज है कि अगर आपके घर में नहीं है आपको घर से बाहर से किसी को बुलाना है तो आपको इस तरीके से उसे इंपोर्ट कराना पड़ेगा जैसे हमने कराया कि पैकेज टू के अंदर कहीं भी टीचर नहीं है लेकिन कहीं ना कहीं तो है ये टीचर तो आप इस तरीके से उसको इनपुट करा के ला पाए और इनपुट कराते टाइम आप ऐसे पूरा का पूरा पाथ बताते हो उसको इस तरीके से ठीक है आपने बताया कि टीचर टीचर क्लास कहां मिलेगी टीचर क्लास यहां मिलेगी अब इसके अंदर मैं लिखूंगा ऑब्जेक्ट डट आईडी तो आपको दिख रहा है यहां भी अवेलेबल नहीं होगा खैर ये तो ठीक है ऑब्जेक्ट ड आईडी अवेलेबल नहीं है यह तो हमें पता ही है आईडी तो प्राइवेट है अब जरा यहां पर ऑब्जेक्ट डॉट दूसरी चीज क्या है ऑब्जेक्ट डॉट टीचिंग क्लास टीचिंग क्लास एक्सेस करते हैं तो टीचिंग क्लास हमें पता है टीचिंग क्लास तो एक्सेसिबल है टीचिंग क्लास इक्वल्स टू लेट्स से 14 14 तो कुछ नहीं होता फोर्थ क्लास तो ऑब्जेक्ट ड टीचिंग क्लास यह एक्सेसिबल है बिकॉज यह हमने पब्लिक कर रखा है अगर आप कमांड करके इस पर क्लिक करोगे तो आप सीधा इधर ही पहुंच जाओगे और यहां पर आप देख रहे हो कि टीचिंग क्लास तो हमने पब्लिक किया हुआ है इसीलिए यहां पर अवेलेबल है तो कमांड क्लिक करके आप वहां जा सकते हो उसके अलावा अगर आपको जस्ट बैक जाना है तो उसके लिए आप कर सकते हो कमांड ऑप्शन और फिर लेफ्ट एरो की तो उससे आप वापस चले आओगे जहां से आपने क्लिक किया था ठीक है तो कमांड क्लिक करके यह और बैक अगर वापस जाना है तो कमांड ऑप्शन और लेफ्ट एरो की कमांड ऑप्शन जहां मैं बोल रहा हूं वहां प आप समझ लो कंट्रोल ल्ट अगर आप विंडोज के अंदर हो तो कंट्रोल अल्ट और लेफ्ट एरो की से आप बैक चले जाओगे कंट्रोल ऑल्ट राइट एरो की से आप आगे बढ़ जाओगे ठीक है तो यह हो गया हमारा टीचिंग क्लास और अभी हमने सिर्फ पब्लिक और प्राइवेट समझा है कि पब्लिक के अंदर मतलब पूरी दुनिया को अवेलेबल है व वो चीज और प्राइवेट के अंदर सिर्फ आपकी क्लास अवेलेबल है अब इसके बाद हम पढ़ेंगे डिफॉल्ट डिफॉल्ट क्या होता है तो डिफॉल्ट मतलब जब आपने कुछ भी नहीं लगाया ना जब आपने ना तो प्राइवेट लगाया ना प्रोटेक्टेड लगाया ना पब्लिक लगाया तो उसका मतलब होता है डिफॉल्ट और डिफॉल्ट का मतलब यह होता है कि डिफॉल्ट का एक दूसरा नाम भी होता है चच इ कॉल्ड पैकेज प्राइवेट तो इसको आप पैकेज प्राइवेट भी बोलते हो दिस इज आल्सो नोन एज पैकेज प्राइवेट पैकेज प्राइवेट का मतलब यह है कि यह चीज अपने पैकेज के अंदर प्राइवेट है पैकेज के बाहर सॉरी पैकेज के अंदर तो अवेलेबल है लेकिन पैकेज के बाहर अवेलेबल नहीं है ठीक है जैसे आप यहां पर देख सकते हो कि सेम क्लास के अंदर सभी अवेलेबल है सेम पैकेज के अंदर अगर सब क्लास है तो प्राइवेट वाली चीज अवेलेबल नहीं होगी वहीं पर पब्लिक वाली चीज तो हर जगह ही अवेलेबल है ठीक है सेम पैकेज के अंदर नॉन सबप क्लास है तो वहां भी अवेलेबल है क्योंकि तो पैकेज प्राइवेट है तो पैकेज के अंदर तो अवेलेबल होगी लेकिन डिफरेंट पैकेज के अंदर है तो नो डिफरेंट पैकेज के अंदर है तो नो तो डिफॉल्ट वाली जो चीजें होती हैं डिफॉल्ट वाली जो भी प्रॉपर्टीज या फिर जो भी कॉम्पोनेंट होता है क्लास का अगर आपने उसको डिफॉल्ट एक्सेस मॉडिफाइड दिया है व्हिच इज नो एक्सेस मॉडिफिकेशन नहीं कर सकते फॉर एग्जांपल जैसे मैंने एक चीज पब्लिक बना दी है एक चीज प्राइवेट बना दी है अब मैं एक एक चीज अ पैकेज प्राइवेट बनाता हूं या फिर डिफॉल्ट बनाता हूं तो डिफॉल्ट बनाने के लिए आप कर सकते हो जैसे कि टीचर के पास एक और प्रॉपर्टी है उसकी डिग्री ठीक है हम चाहते हैं कि टीचर की डिग्री जो है वह सिर्फ इस पैकेज तक ही अवेलेबल हो तो उसके लिए मैं उसको बनाऊंगा टीचर की डिग्री को स्ट्रिंग डिग्री इस तरीके से तो यहां पर मैंने इसे बना दिया है पैकेज प्राइवेट पैकेज प्राइवेट कैसे और डिफॉल्ट कैसे जब आपने कुछ भी नहीं लगाए ना इसके आगे ना आपने पब्लिक लिखा ना प्राइवेट लिखा ना आपने प्रोटेक्टेड लिखा तो दैट बिकम डिफॉल्ट आपने यहां पे ठीक है तो दिस इज डिफॉल्ट और पैकेज प्राइवेट तो इसका मतलब ये ये जो डिग्री है यह आप सिर्फ इस पैकेज में कहीं भी एक्सेस कर सकते हो फॉर एग्जांपल लर्न पैकेज के अंदर कहीं भी एक्सेस कर सकते हो तो लर्न पैकेज के अंदर आप मेन क्लास के अंदर जाओगे तो यहां पर आप एक्सेस कर सकते हो इसको फॉर एग्जांपल आप लिख सकते हो यहां पर ऑब्जेक्ट डॉट डिग्री ठीक है किकी आपकी डिग्री आपने यहां पर सेट कर दी तो यहां अवेलेबल है लेकिन अगर इस पैकेज के बाहर किसी और पैकेज से एक्सेस फॉर एग्जांपल अगर मेन इन पैकेज टू ये दूसरे पैकेज में है राइट यहां से एक्सेस करने का ट्राई करोगे तो यहां पर वो अवेलेबल नहीं रहेगा देखो ऑब्जेक्ट डॉट डिग्री यह नहीं मिल रही है यहां पे हमें और अगर आप इस पर हर करोगे तो यह बोलेगा डिग्री इज नॉट पब्लिक कैन नॉट बी एक्सेस फ्रॉम आउटसाइड पैकेज क्योंकि डिग्री पब्लिक नहीं है तो आप आउटसाइड पैकेज उसको एक्सेस नहीं कर सकते हो तो अगर आपको आउटसाइड एक्सेस पैकेज आउ सर्ट पैकेज एक्सेस करना है तो उसके लिए आपको उसको पब्लिक बनाना पड़ेगा तो आई थिंक ये भी समझ में आ गया होगा डिफॉल्ट का क्या रोल होता है नेक्स्ट हम प्रोटेक्टेड को समझेंगे इसके अंदर बेसिकली आप अ का जो पेरेंट है पेरेंट की चीजों को चाइल्ड एक्सेस कर सकता है फिर वो चाहे किसी भी क्लास के अंदर हो और चाहे वो किसी भी पैकेज के अंदर हो तो जैसे यहां पर देखो और पेरेंट के पास सपोज करो कुछ प्रॉपर्टी है राइट पेरेंट चाहता है कि ये वाली प्रॉपर्टी मेरे चाइल्ड को हमेशा एक्सेसिबल रहे मेरे पैकेज में भी एक्सेसिबल रहे बेसिकली मैं जिस पैकेज के अंदर हूं उसके अंदर भी एक्सेसिबल रहे फॉर एग्जांपल अंकल को एक्सेसिबल रहे वो चीज और चाइल्ड को एक्सेसिबल रहे लेकिन अ मेरा जो इमीडिएट चाइल्ड है उसको भी एक्सेसिबल रहनी चाहिए फॉर एग्जांपल ये जो सन है वो इस पैकेज के अंदर है तब भी एक्सेसिबल हो लेकिन सन फ्यूचर में किसी और पैकेज के अंदर चला जाता है सपोज करो तब भी यह रिलेशन तो बना ही हुआ है राइट पेरेंट और सन का रिलेशन तो खत्म होगा नहीं तो फादर के पास जो भी प्रॉपर्टी है वो तब भी सन के पास एक्सेसिबल रहनी चाहिए अगर आपको ऐसा कुछ बनाना है तो उसके लिए आपको प्रोटेक्टेड बनाना पड़ेगा ऐसे केस में आपको दिख रहा है कि आप प्राइवेट तो बना नहीं सकते बिकॉज अगर प्राइवेट बना दिया तो सिर्फ फादर के पास एक्सेसिबल होगा सन को कभी नहीं मिलेगा अ सिमिलरली अगर पैकेज प्राइवेट रखा मतलब डिफॉल्ट रखा तो सिर्फ ऐसे ही केस में अवेलेबल होगा लेकिन अगर सन किसी और पैकेज में चला जाए तो अवेलेबल नहीं होगा तो इसीलिए यहां पर एक और अलग बनाया गया है व्हिच इज कॉल्ड अ प्रोटेक्टेड तो आप अगर आपने किसी फील्ड को प्रोटेक्टेड बनाया हुआ है अपनी पेरेंट क्लास के अंदर अ या फिर सुपर क्लास के अंदर तो सब क्लास के अंदर वो अवेलेबल रहेगा चाहे वो फिर किसी भी पैकेज के अंदर हो जैसे आप यहां पर देख सकते हो सेम क्लास के अंदर है तो अवेलेबल है सेम पैकेज के अंदर है तो भी अवेलेबल है सेम पैकेज के अंदर अवेलेबल है डिफरेंट पैकेज सब क्लास है अगर डिफरेंट पैकेज सब क्लास के अंदर भी अवेलेबल होगा लेकिन डिफरेंट पैकेज और नॉन सब क्लास है तो अवेलेबल नहीं होगा जैसे अगर ये क्लास है कोई डिफरेंट पैकेज की आर तो इसको अवेलेबल नहीं होगा वो फील्ड अगर आपको ये चीज देखनी है तो इसके लिए हम क्या कर सकते हैं जैसे कि टीचर क्लास है इसके अंदर हमने ये सब चीजें बना रखी हैं इसके अंदर एक प्रोटेक्टेड फीड बनाते हैं लेट्स से प्रोटेक्टेड अ इंट स्टूडेंट्स काउंट जो कि बताता है कि किसी टीचर के पास कितने स्टूडेंट्स हैं ठीक है टीचर ने कितने स्टूडेंट्स को पढ़ा रखा है तो ये काम करते हैं इस टीचर का ही सब क्लास बना देते हैं किसी को तो मेन इन पैकेज टू यह दूसरे पैकेज के अंदर है इसी को हम बना देते हैं सब क्लास ऑफ टीचर तो दिस विल एक्सटेंड टीचर क्लास तो अब बेसिकली मेन पैकेज इन टू इज अ टीचर तो इसके पास टीचर क्लास के चीजों का एक्सेस है फॉर एग्जांपल अगर आप इस मेन इन पैकेज टू का ऑब्जेक्ट बनाओगे मेन इन पैकेज टू मेन इन पैकेज टू इक्व टू न्यू मेन पैकेज टू यहां पर यह नाम क्लास के नाम पर मत जाओ बेसिकली बस कांसेप्ट पर जाओ कि मैंने एक ऑब्जेक्ट बना लिया है एंड दिस ऑब्जेक्ट इज एसेंशियली अ टीचर एज वेल बिकॉज इट इज एक्सटेंडिंग अ टीचर तो यह अपने टीचर की बेसिकली अपने पेरेंट की चीजों को एक्सेस कर सकता है जो कि प्रोटेक्टेड है तो मेन इन पैकेज टू कैन एक्सेस टीचर स्टूडेंट्स काउंट ऑल राइट जस्ट बिकॉज यह इसका पेरेंट है और अगर यह पेरेंट नहीं रहता अगर सपोज करो यहां पर ये पेरेंट नहीं है ऐसे तब तो इसके पास एक्सेस होगी ही नहीं इसकी बिकॉज ये कहां से आया ये तो है ही नहीं इसके अंदर राइट मेन इन पैकेज टू के अंदर आपने डिफाइन ही नहीं कर रखा लेकिन अगर आप इसको बना दोगे ऐसे एक्सटेंड्स टीचर तो अब यहां पर एक्सेसिबल है लेकिन अगर आपने इसको पैकेज प्राइवेट कर दिया इस तरीके से सिंपल पैकेज प्राइवेट है तो फिर अब वो वहां पर अवेलेबल नहीं होगा उसको क्योंकि पैकेज प्राइवेट है वो चीज तो राइट वो दूसरे पैकेज के अंदर कैसे आ सकती है तो अगर आपको दूसरे पैकेजेस की अपने चाइल्ड सब क्लासेस को भेजना है कुछ तो उसके लिए आपको उसको प्रोटेक्टेड बनाना पड़ेगा राइट प्रोटेक्टेड बना दो क्योंकि प्राइवेट बना दोगे तो तो नहीं होगा अवेलेबल प्राइवेट बना दोगे तब फिर कहीं और अवेलेबल नहीं होगा तो सिंपल सा है एक सलूशन व्हिच इज मेक इट प्रोटेक्टेड पब्लिक बना दोगे तो फिर तो सभी को अवेलेबल हो जाएगा वो हमें नहीं चाहिए था हम चाहिए था कि सिर्फ हमारे सब सब क्लासेस को अवेलेबल हो तो उसके लिए प्रोटेक्टेड काम में आता है तो आई थिंक हमें चारों के चारों एक्सेस मोडिफाय समझ में आ गए होंगे एक बार जरा दोबारा समझ लेते हैं पब्लिक का मतलब सब जगह अवेलेबल है पब्लिक अगर कोई चीज कर दी तो वो हर जगह अवेलेबल है जैसे हमने देखा था एक सन के अंदर अगर आपने कोई चीज पब्लिक कर दी तो यहां पे भी अवेलेबल है यहां पर भी यहां पर भी बेसिकली पूरी दुनिया में ब्रह्मांड में कहीं भी उसके बाद अगर आपने प्राइवेट कर दी तो सिर्फ उस क्लास के अंदर अवेलेबल है अगर कोई चीज प्राइवेट है तो वो उस क्लास के बाहर कहीं और एक्सेस हो ही नहीं सकती है अगर कोई चीज प्रोटेक्टेड है तो हमें दिख रहा है कि वो सब क्लास के अंदर अवेलेबल होगी फिर वो सब क्लास किसी भी पैकेज के अंदर हो सकती है और अगर कोई चीज डिफॉल्ट है तो वो डिफॉल्ट चीज सिर्फ एक पैकेज के अंदर अवेलेबल होगी पैकेज के बाहर कहीं और अवेलेबल नहीं होगी फिर चाहे वो सब क्लास हो चाहे ना हो वो सिर्फ उस पैकेज के अंदर अवेलेबल होगी ठीक है तो अगर डिफरेंट पैकेज के अंदर सब क्लास भी है तो भी अवेलेबल नहीं होंगे तो ये चार हमारे पास एक्सेस मोडिफाय होते हैं जिससे हम अपने डाटा के एक्सेस को कंट्रोल कर पाते हैं कि हमें अपना डाटा कहां-कहां पहुंचाना है कि अगर अपने इंडिया को अपने राइस को कहीं कहीं नहीं पहुंचाना है तो वहां पर वो उनको प्रोटेक्टेड कर सकती है या फिर प्राइवेट कर सकती है प्रोटेक्टेड करने का मतलब कि हम सिर्फ अपनी सब क्लासेस को हमारी जो सब कंट्री या फिर सब स्टेट्स है सिर्फ वहां तक पहुंचा रहे हैं राइट सब कंट्रीज तो कुछ नहीं है ऑलराइट इसके बाद अगला देखते हैं जावा एनकैप्सूलेशन एनकैप्सूलेशन रेफर्स टू बंडलिंग ऑफ फील्ड्स एंड मेथड्स इनसाइड अ सिंगल क्लास तो एनकैप्सूलेशन बेसिकली अचीव कर पाते हैं हम एक्सेस मोडिफाय की हेल्प से ठीक है तो इसीलिए एक्सेस मोडिफाय को समझना जरूरी था पब्लिक प्राइवेट प्रोटेक्टेड अब हमें समझ में आ चुका है तो अब हम एनकैप्सूलेशन को समझ पाएंगे एनकैप्सूलेशन रेफर्स टू बंडलिंग ऑफ फील्ड्स एंड मेथड्स इनसाइड अ सिंगल क्लास तो इसका मतलब क्या है तो जैसे आपने देखा होगा इनकैप्सूलते है एक वर्ड से चच इज कॉल्ड कैप्सूल ठीक है तो जैसे एक कैप्सूल होता है दवाई का कैप्सूल होता है राइट उसके अंदर कुछ दवाइयां होती है जैसे सपोज करो दिस इज योर कैप्सूल राइट ऐसा कुछ कैप्सूल होता है आपने देखा है तो इसके अंदर कुछ कुछ दवाइयां होती है तो बेसिकली आपने उन दवाइयों को जिन जो एक टाइप की दवाइया है मतलब जिनसे एक टाइप की बीमारी सॉल्व हो सकती है उनको आपने एक साथ रखा हुआ है राइट सपोज करो ये रेड दवाई इसके अंदर और साथ में इसके अंदर येलो दवाइयां भी है तो इनको आपने एक साथ एक कैप्सूल में रखा हुआ है दिस इज नोन एज एनकैप्सूलेशन कि बेसिकली सेम टाइप का डाटा और उस डटा के ऊपर जो भी बिहेवियर है या फिर जो भी फंक्शंस है उनको आपने एक फाइल के अंदर स्टोर कर लिया दैट इज नोन एज एनकैप्सूलेशन अगेन आई विल रिपीट कि आपने अ डिफर्स टू बंडलिंग ऑफ फील्ड्स एंड मेथड इनसाइड अ सिंगल क्लास आपने बेसिकली क्या किया एक क्लास बना लिया और इस क्लास के अंदर कुछ फील्ड्स हैं जैसे कि सपोज करो आपने बना ली पर्सन क्लास अब इस पर्सन क्लास के अंदर आपने बनाया एज और आपने बनाया नेम और वो सारी सारी चीजें जो कि इस एज को चेंज कर सकती है या फिर वो चीजें जो इस नेम को चेंज कर सकती है या फिर इस नेम के काम करेंगी वो फंक्शन भी आपने यहीं पर डिफाइन कर दिया है राइट फॉर एग्जांपल प्रिंट एज यह फंक्शन है जो कि इस जज पर काम करेगा तो सेम टाइप का डाटा एंड द फंक्शन दैट इज वर्किंग ऑन दिस डाटा अगर आपने उन सबको एक ही क्लास के अंदर एंक्लोज कर लिया तो दैट इज नोन एस जावा एनकैप्सूलेशन अब आप बोलोगे भ इसमें इतनी चकने वाली बात क्या है मतलब इससे क्या फायदा हो रहा है इससे मतलब फायदा क्या है तो यहां पर लिखा हुआ है वो चीज इ वेंट्स आउटर क्लासेस फ्रॉम एक्सेसिंग एंड चेंजिंग द फील्ड्स एंड मेथड्स ऑफ अ क्लास तो इससे बेसिकली आप ये अचीव कर पाते हो कि कोई और बाहर की क्लास सपोज करो कोई बाहर की मेन क्लास है तो यह सीधा चेंज नहीं करेगी चीजों को ठीक है सीधा ये एज वगैरह को एक्सेस नहीं कर सकते क्योंकि आप बोल दोगे कि भाई एज प्राइवेट है अब अगर एज प्राइवेट है तो एज के ऊपर काम भी करना है राइट एज के ऊपर काम करेगा तो एज के ऊपर काम सिर्फ यही कर सकता है पर्सन क्लास ही कर सकता है अगर मेन क्लास को एज चेंज करनी है तो मेन क्लास सीधा एज को ऐसे चेंज नहीं करेगी मेन क्लास को अगर एज कोसे करना है तो वो कुछ कुछ और मेथड्स के थ्रू एक्सेस कर सकती है तो इससे क्या होता है इससे आप कंट्रोल कर सकते हो कि किस तरीके से आपका डाटा एक्सेस हो रहा है किस तरीके से डेटा चेंज हो रहा है कौन-कौन एक्सेस कर सकता है आपके डाटा को अगर अभी चीजें आपके दिमाग के ऊपर से जा रही है तो अभी हम एग्जांपल के से समझेंगे तब आपको ज्यादा समझ में आएगा और दिस आल्सो हेल्प्स टू अचीव डेटा हैडिंग वैसे डेटा हैडिंग को अभी हम समझेंगे ऐसा करते हैं पहले डेटा हैडिंग भी देख ही लेते हैं बिकॉज एनकैप्सूलेशन का मतलब तो सिर्फ यही होता है कि आपने सेम डाटा और उस डाटा के ऊपर जो भी फंक्शंस हो रहे हैं जो उस पर काम कर रहे हैं उन सबको आपने एक फाइल में डाल दिया दिस इज नोन एज इ कैप्सूलेशन बहुत ठगड़ा कुछ बहुत खतरनाक कांसेप्ट नहीं है लेकिन डेटा हैडिंग को समझ लेते हैं एक बार उसके बाद मैं आपको कोड में बताऊंगा कि डाटा हैडिंग इज अ वे ऑफ रिस्ट्रिक्टिंग द एक्सेस ऑफ आवर डाटा मेंबर्स बाय हाइडिंट मेंटेशन डिटेल एनकैप्सूलेशन आल्सो प्रोवाइड्स अ वे फॉर डेटा हाइडिल ठीक है तो एनकैप्सूलेशन की हेल्प से ही डेटा हाइडिल हो रही होती है या फिर आप कह सकते हो इन कैप्सन के अंदर डेटा हाडिन यूज एक्सेस मोडिफाय टू अचीव डेटा हाडिन ट भी लिखा हुआ है पीपल ऑफें कंसीडर इन कैप्सन एज डाटा हैडिंग बट दैट्ची एंटायस रेफर्स टू द बंडलिंग ऑफ रिलेटेड फील्ड एंड मेथड्स टुगेदर दिस कैन बी यूज्ड टू अचीव डेटा हैडिंग एनकैप्सूलेशन इन इट सेल्फ इज नॉट डेटा हैडिंग ठीक है तो ये जो बड़ी सी लाइन है ये आई थिंक सेल्स बना रही होगी अभी नहीं भी बना रही है तो अभी बनाएगी धीरे-धीरे करके ठीक है ये बेसिकली ये कहना चाहता है कि कई बार लोग जो होते हैं वो एनकैप्सूलेशन और डेटा हैडिंग को सेम मान लेते हैं लेकिन ऐसा नहीं है इनकैप्सूलते रिलेटेड फील्ड और उसके ऊपर जो मेथड काम कर रहे हैं उनको एक साथ रख दिया है इसकी हेल्प से आप लोग डाटा हैडिंग अचीव कर पाते हो ठीक है ठीक है इसकी एनकैप्सूलेशन की हेल्प से आप लोग डेटा हैडिंग अचीव कर पाते हो लेकिन एनकैप्सूलेशन का मतलब सिर्फ डेटा हैडिंग नहीं है एनकैप्सूलेशन का मतलब और भी काफी कुछ है ठीक है तो आप समझ सकते हो कि एनकैप्सूलेशन एक बहुत बड़ा सर्कल है उसके अंदर उसके अंदर एक डेटा हैडिंग बाट भी है ठीक है तो डेटा हैडिंग आप यहां पर अचीव कर पाए लेकिन एनकैप्सूलेशन एक बहुत बड़ी चीज है जिसके अंदर यह भी होता है कि आप सेम टाइप के डाटा को सेम टाइप के मेथड को एक साथ रख पा रहे हो इससे डटा हैडिंग अचीव हो जाती है लेकिन अब जरा ये समझ लेते हैं कि ये सब मैंने क्या बोल दिया है कोड में बताऊंगा लेकिन मैं वो चीज ठीक है तो उसके लिए मैं काम करूंगा यहां पे एक और पैकेज बना लेते हैं लेट्स मेक अनदर पैकेज इनसाइड पस 3 एंड लेट्स नेम इट एनकैप्सूलेशन लर्न इन कैप्सूलेशन ठीक है और इस पैकेज के अंदर हम एक क्लास बना लेंगे मेन इन एनकैप्सूलेशन तो यह मैंने एक और क्लास बना लिया ठीक है तो यह है हमारी मेन इन एनकैप्सूलेशन क्लास ऑलराइट और इसके अंदर हम यूज करने वाले हैं इस पर्सन क्लास का अब ये पर्सन क्लास जो ये हमें पता है ये दूसरी जगह प पड़ी हुई है ये पर्सन क्लास हमारी लर्न पैकेज वाले पैकेज के अंदर पड़ी है बट दैट इज फाइन तो हम बेसिकली क्या कर सकते हैं हम बोल सकते हैं कि ये जो पर्सन क्लास के अंदर जो चीजें है ना ये डायरेक्टली एक्सेसिबल नहीं होंगी अब इन कैप्सन को समझ रहे हैं हम इन कैप्सन बोलता है कि हम अपने डाटा को हाइड कर देंगे हम बोल देंगे कि हम इस एज पे और इस नेम प जो भी काम होना है वो हमारे थ्रू होके जाएगा आप सीधा उसको एक्सेस नहीं कर सकते तो आप सीधा एक्सेस नहीं करोगे इसका मतलब आप उसे प्राइवेट कर दोगे तो आपने इन दोनों चीजों को पहले तो कर दिया प्राइवेट प्राइवेट करने ने का मतलब आपने बोल दिया कि यह अब चीजें जो है यह कहीं और से एक्सेसिबल नहीं होंगे लेकिन अगर आपको इनको एक्सेस करना है तो आप हमारे थ्रू एक्सेस करो फॉर एग्जांपल आप इसके अंदर गेटर्स और सेटर्स मेथड बना सकते हो जैसे कि आपको अगर एज को सेट करना है किसी को अगर पर्सन बनाना है और पर्सन की ए को सेट करना है तो वो ऐसे सेट नहीं करेगा हम बताएंगे तब वैसे सेट करेगा तो आप पब्लिक वॉइड सेट जज नाम का फंक्शन बना सकते जो कि एक जज लेता है और उस फंक्शन के अंदर आप क्या कर सकते हो दिस डट ए इक्टू ए तो यह वाला फंक्शन अगर आपने कॉल कर दिया तो उससे आप क्योंकि आप तो एक्सेस कर सकते हो राइट आपने प्राइवेट बनाया तो आप तो इस एज को एक्सेस कर सकते हो लेकिन कोई और एक्सेस नहीं कर सकता तो आपको अगर इसकी जज को सेट कराना है बाहर से कहीं से तो आप यह पब्लिक मेथड एक्सपोज कर दोगे दूसरों के लिए और वह इस पब्लिक मेथड को कॉल कर सकते हैं फॉर एग्जांपल यहां पर मैं दिखाता हूं पब्लिक स्टैटिक वॉइड मेन और इसके अंदर मैं बनाऊंगा पर्सन क्लास का ऑब्जेक्ट तो पर्सन p1 इक्टू न्यू पर्सन अब इस p1 की मुझे एज सेट करनी है तो मैं सीधा एज ऐसे सेट नहीं कर सकता राइट क्योंकि एज जो है ये एज तो प्राइवेट फील्ड है एज प्राइवेट है तो यू कैन नॉट एक्सेस इट डायरेक्टली तो क्या करना पड़ेगा आपको इस p1 के अंदर एक फंक्शन कॉल अप करना पड़ेगा व्हिच इज p1 ड सेट ए और यहां पे आप 12 डिफाइन कर दोगे इस तरीके से तो आप अब यहां पे p1 की एज को सेट कर पाए p1 ऑब्जेक्ट जो है उसकी एज को सेट कर पाए लेकिन आप डायरेक्टली सेट नहीं कर पाए आप इस मेथड के थ्रू सेट कर पाए अब अगर आपको इसकी एज को प्रिंट करना है तो आप ऐसे प्रिंट करने जाओगे तो तभी भी अवेलेबल नहीं रहेगा ये राइट p1 ए लिखा आपने प्रिंट करने के लिए तो वहां पर एज अवेलेबल नहीं है अभी भी तो अगर आपको इस एज को प्रिंट भी कराना है गेट कराना है तो उसके लिए आप एक गेटर्स बना सकते हो तो पब्लिक इंट गेट एज एक फंक्शन होगा जिसका काम होगा एज रिटर्न करना रिटर्न एज तो आपने देखा कि आप सीधा इस एज के ऊपर काम नहीं करने दे रहे आपने गेटर्स एंड सेटर्स मेथड बना लिए हैं जिनकी हेल्प से कोई और क्लास इनको गेट कर सकती है या सेट कर सकते है जैसे अगर इस क्लास को अब इसे गेट करना है तो वो सीधा ऐसे एक्सेस नहीं करेगी वो कॉल करेगी गेट एज इस तरीके से और अगर आप अ इसे रन करोगे तो आप देखोगे 12 प्रिंट होगा ठीक है यहां पर 12 प्रिंट हो रहा है इसका मतलब आप p1 ऑब्जेक्ट के अंदर 12 सेट कर पाए लेकिन सीधा नहीं सेट कर पाए आपको इस कैटर्स एंड सेटर्स के थ्रू हो जाना पड़ा बिकॉज जो एज वेरिएबल है उसको हमने प्राइवेट सेट किया हुआ है एंड दिस इज नोन एज इन कैप्सन एंड डाटा हैडिंग ठीक है दोनों चीजें आपने एक साथ देख ली अब हम में से कुछ लोग ये भी सोच सकते हैं कि इसका फायदा क्या हुआ अभी भी आप सेट जज कर पा रहे हो अभी भी आप कैट एज कर पा रहे हो तो ये इन कैप्सन का फायदा क्या हुआ वेल इन कैप्सन का फायदा ये हुआ है कि अब आप कंट्रोल कर सकते हो कि कब कब एक्सेस करने देना है या फिर कैसे कैसे एक्सेस करने देना है राइट फॉर एग्जांपल आपने सपोज करो बोल दिया कि जो पर्सन है इसको सिर्फ तभी एक्सेस कर सकते हो जब कोई फील्ड ट्रू है फॉर एग्जांपल बुलियन कैन बी चेंज्ड और अगर यह वैल्यू शुरुआत में सपोज करो फाल्स है तो अगर कैन बी चेंज्ड फॉल्स है सपोज करो अभी टाइम नहीं हुआ है चेंज करने का राइट और ये कैन बी चेंज की वैल्यू जो है वो नेटवर्क कॉल के थ्रू आ रही है कि सपोज करो कि अह नाम च अ एज चेंज करने का जो टाइम है वह सुबह 8:00 बजे से लेकर रात के 8:00 बजे तक होता है तो सुबह के 8:00 बजे से लेकर रात के 8:00 बजे तक तो यह वैल्यू ट्रू रहती है अदर वाइज़ यह फॉल्स हो जाती है तो उसको अब आप यहां पर यूज़ कर सकते हो सीधा आप यहां पर सीधा देख लोगे कि इफ कैन बी चेंज्ड अगर यह वैल्यू ट्रू है तब तो हम एज को सेट करेंगे अदर वाइज एज को सेट नहीं करेंगे इस तरीके से तो अब हमारा कंट्रोल है बेसिकली एज को सेट करने के ऊपर राइट बिकॉज़ अब कोई भी अगर सेट एज करना चाहेगा तो उस एज को सेट करने से पहले उसको हमारा जो चेक लगाया हुआ है हमें हमने उसके थ्रू होगे जाना पड़ेगा तो क्योंकि अभी वो चेक फॉल्स है तो अभी अगर आप इसे रन करोगे तो यहां पर एज 12 नहीं होगी एज देखो बाय डिफॉल्ट नल है जीरो है राइट बिकॉज इंटी जर की बाय डिफॉल्ट वैल्यू ज़ीरो होती है बिकॉज एज कुड नॉट बी चेंज्ड बिकॉज एज कैन नॉट बी चेंज बिकॉज एज कैन नॉट भी चेंज की वैल्यू हमने फाल्स रखी हुई है सपोज करो कैन बी चेंज ट्रू है तो अब वैल्यू चेंज हो जाएगी ठीक है अब यहां पर चेंज हो जाएगा तो बस यह फायदा होता है कि आप एक्सेस आप बेसिकली ये चीज कंट्रोल कर सकते हो कि कब मुझे कोई चीज चेंज करने देनी है कब मुझे चेंज नहीं करने देनी है राइट अगर मैं इसको पब्लिक कर देता तो मेरे पास कोई तरीका नहीं है इस एज को चेंज होने से रोकने का राइट कोई भी आएगा फ्यूचर में कोई भी बंदा यहां पर इली p1 डॉट ए ऐसे करके कुछ भी कर देगा राइट या तो यह भी कर सकता है और एक और चीज भी हो सकती है कि सपोज करो इफ कैन बी चेंज्ड भी है और साथ में इफ एज इज वैलिड सपोज करो मैं चाहता हूं कि नेगेटिव एज कोई ना डाल पाए राइट तो मैं यहां पर देख लूंगा इफ एज इज लेस दन इफ एज इज ग्रेटर दन जीरो राइट अगर एज ग्रेटर दन रो है तभी एज को चेंज करने दूंगा मैं यहां पे तो बेसिकली वैलिडेशन भी लगा दिया मैंने ऑथराइजेशन भी लगा दिया मैंने वैलिडेशन भी लगा लिया कि अगर कोई बंदा सपोज करो एज कैन कैन बी चेंज्ड राइट अभी कैन बी चेंज ट्रू है लेकिन कोई बंदा आके -1 एज सेट करने का ट्राई कर रहा है तो मैं नहीं सेट करने दूंगा उसको राइट यहां पर देखो अभी भी -1 सेट नहीं कर पाया वो तो ये सब इसलिए पॉसिबल है बिकॉज मैं यहां पे अपनी सेट एज फंक्शन के अंदर रिस्ट्रिक्शन लगा सकता हूं और ये फायदा होता है डेटा हाडिन का सिमिलरली मैं इस गेट एज मेथड के अंदर भी लगा सकता हूं कि एक्सेस देनी है कि नहीं देनी है सपोज करो एक्सेस में सिर्फ किसी किसी को दे सकता हूं या फिर एक पर्टिकुलर टाइम है जिसके अंदर मैं एक्सेस दे सकता हूं ठीक है तो मैं एक पलन बना सकता हूं अ कैन बी एक्सेस्ड ठीक है ऐसे करके वैसे तो इसकी वैल्यू कहीं और से आ रही होगी सपोज करो अभी मैं फिलहाल के लिए कैन बी एक्सेस को ट्रू कर देता हूं तो इफ इट कैन बी एक्सेस्ड इफ कैन बी एक्सेस्ड तो मैं यहां से रिटर्न कर दूंगा एज को एल्स मैं रिटर्न करूंगा यहां पर सपोज करो -1 ठीक है तो अगर एक्सेस किया जा सकता है एज को तो आप एज को एक्सेस एज को रिटर्न कर दोगे अदर वाइज आप -1 रिटर्न कर दोगे तो अगर कोई यहां पर एज को प्रिंट करने का ट्राई करेगा जैसे यहां पर p1 ए कोई प्रिंट करने का ट्राई करेगा पहले तो इसको मैं कर देता हूं लेट्स से 12 तो मुझे पता है p1 ड सेट एज करने से वो एज 12 हो जाएगी और यहां पर वो एज प्रिंट होनी भी चाहिए लेकिन सपोज करो एज कोई एक्सेस करने का ट्राई करता है जबकि एज एक्सेसिबल नहीं है तो यहां पर वह एज माइनस व प्रिंट होने वाली है बिकॉज़ आपको मिलेगी नहीं गेट एज में से वो एज ठीक है इसलिए -1 प्रिंट हो रही है तो इस तरीके से मैंने इस एज वेरिएबल के अराउंड बहुत सारे मैकेनिज्म लगा दें जिनसे कि उनको एक्सेस करते टाइम प्रॉपर सिक्योरिटी रीजंस के थ्रू होके जाना पड़े तो यह फायदा होता है हमारे एनकैप्सूलेशन का ठीक है इस तरीके से हम डेटा प्राइवेसी या डटा हाडिन अचीव कर पा रहे हैं विद द हेल्प ऑफ एनकैप्सूलेशन एंड एक्सेस मॉडीफाय एस तो ये होता है बेसिकली इसके बाद हम अगला कांसेप्ट देखते हैं व्हिच इज़ द स्टैटिक कीवर्ड तो यह एक और कीवर्ड है अभी तक हम काफी सारे कीवर्ड देख चुके हैं तो दिस इज़ अगेन वन ऑफ़ द कीवर्ड और स्टैटिक कीवर्ड बेसिकली काम में आता है जब आपको कुछ ऐसी चीजें बनानी है जिनके ऊपर किसी एक पर्टिकुलर ऑब्जेक्ट का हाथ नहीं है वोह क्लास की चीजें हैं ठीक है क्लास की चीज है जैसे कि इफ यी वांट टू एक्सेस क्लास मेंबर्स विदाउट क्रिएटिंग एन इंस्टेंस ऑफ द क्लास वी नीड टू डिक्लेयर द क्लास मेंबर स्टैटिक फॉर एग्जांपल अगर आपको कोई भी क्लास का मेंबर क्लास मेंबर मतलब क्या होता है कि क्लास के अंदर कौन-कौन सी चीजें आ सकती है जैसे कि वेरिएबल आ गए या फिर अ कोई मेथड आ गया तो वो आपके क्लास के मेंबर होते हैं जैसे कि यहां पर भी आई थिंक मैंने बताया नहीं लेकिन ये सब जो चीजें हैं प्राइवेट प्रोटेक्टेड पब्लिक ये सिर्फ मैंने वेरिएबल प लगाए थे लेकिन आप इनको मेथड पर भी लगा सकते हो ठीक है बिकॉज मेथड्स आर आल्सो अ क्लास की चीज है ठीक है क्लास के मेंबर होते हैं मेथड भी तो इस तरीके से आप स्टैटिक भी बना सकते हो चीजों को तो स्टैटिक बनाने का मतलब ये है कि उनको एक्सेस करने के लिए आपको क्लास का ऑब्जेक्ट बनाने की जरूरत नहीं है जैसे आपने देखा होगा मैंने आपको बताया भी था कि ये लीप ऑफ फेथ लेके चलो प्रोग्रामिंग के अंदर शुरुआत फर्स्ट क्लास के अंदर बताया था कि लीप ऑफ फेथ लेके चलो आपको धीरे-धीरे करके पूरा पता चलता चलेगा कि क्या हो रहा है यहां पर ठीक है पब्लिक स्टैटिक वॉइड मेन का मतलब क्या है तो पब्लिक तो समझ में आ गया होगा कि अगर किसी बाहर वाली क्लास को भी मेन मेथड रन कर ना है तो वो कर सकती है बिकॉज इसको हमने पब्लिक बना रखा है राइट इसके बाद ये स्टैटिक क्यों बना रखा है ये आप समझ जाएंगे हम तो स्टैटिक इसलिए बना रखा होता है क्योंकि आप नहीं चाहते कि इस मेन मेथड को रन करने के लिए इस मेन एनकैप्सूलेशन का ऑब्जेक्ट बनाना पड़े तो जावा का जो कंपाइलर है उसको इसका कोई ऑब्जेक्ट नहीं बनाना पड़ेगा उसको अगर इस मेन मेथड को रन करना है क्योंकि स्टैटिक का मतलब होता है कि स्टैटिक चीज सीधा क्लास के थ्रू ही एक्सेस की जा सकती है फॉर एग्जांपल सपोज करो य हमारा पर्सन है इस पर्सन के अंदर मैं चाहता हूं कुछ कुछ चीजें जैसे कि सपोज करो काउंट है कि कितने परसन के ऑब्जेक्ट बन चुके हैं राइट तो स्टैटिक इंट काउंट इसकी वैल्यू जीरो से स्टार्ट हो रही है सपोज करो तो मैंने एक काउंट वेरिएबल बना लिया च इ स्टैटिक स्टैटिक का मतलब है कि ये जो काउंट वेरिएबल है अब यह पर्सन के ऑब्जेक्ट टू ऑब्जेक्ट डिपेंड नहीं करेगा यह एक ही बार बनेगा और यह सभी ऑब्जेक्ट के अंदर चला जाए अपने आप ही ठीक है तो जैसे कि सपोज करो मैंने यहां पे कर दिया फिलहाल के लिए 12 अब इसको एक्सेस करने का ट्राई करते हैं यहां से सपोज करो इस p1 ऑब्जेक्ट के थ्रू मैं इस एक्सेस करूंगा तो एस आउट p1 ड काउंट तो अभी फिलहाल यहां पर एरर आ रहा है क्योंकि यह पब्लिक नहीं है ठीक है तो इसको हम पब्लिक कर देते हैं अभी क्योंकि पैकेज प्राइवेट था इसीलिए अवेलेबल नहीं था बाहर पैकेज में तो अभी अवेलेबल है और अभी अगर इसे हम रन करेंगे तो यहां पर वैल्यू 12 आएगी राइट लेकिन यहां पर एक वॉर्निंग भी आ रही है आप देख रहे हो और वार्निंग कह रही है कि स्टैटिक मेंबर कैन बी एक्सेस वाय इंस्टेंस रेफरेंस तो इसका मतलब कि इसको आप ऐसे रेफर करने की बजाय सीधा चाहो तो पर्सन के थ्रू भी रेफर कर सकते हो क्योंकि यह p1 के लिए भी इसकी वैल्यू 12 है और प2 कोई और पर्सन आप बनाओगे तो उसके लिए भी इसकी वैल्यू 12 ही रहेगी बेसिकली इसकी वैल्यू ऑब्जेक्ट पर डिपेंड करती नहीं है इसकी वैल्यू पूरे के पूरे क्लास पर डिपेंड करती है और एक क्लास के लिए इसकी वैल्यू एक ही रहेगी मैं क्या कहना चाहता हूं बेसिकली कि आप यहां पर p1 डॉट काउंट को सपोज करो चेंज कर दो ऊपर कहीं पर आपने कर दिया p1 ड काउंट इक्ट 50 इस तरीके से तो आपने सोचा होगा कि चलो मैंने तो p1 के लिए काउंट को अपडेट कर दिया राइट लेकिन अगर आप यहां पर p2 काउंट भी प्रिंट करने का ट्राई करोगे ना तब भी वह अपडेट हो चुका होगा क्योंकि इसकी कॉपी सिर्फ एक ही बनती है देखो प2 काउ प अपडेट हो चुका है आप बोलोगे भैया मैंने तो p1 बनाया था तो p1 का ऑब्जेक्ट अलग है तो उसके अंदर अलग भी बननी चाहिए चीजों की मैं बोलूंगा हां सही बात है बननी चाहिए लेकिन जो स्टैटिक चीजें होती है ना स्टैटिक का मतलब होता है कि ये सिर्फ एक ही बार बनेगा ठीक है एक क्लास के अंदर एक ही बार बनेगा एक काम करते हैं स्टैटिक की कुछ और प्रॉपर्टीज होती हैं जरा उनको समझते हैं उसके बाद स्टैटिक हम समझ में आएगा अच्छे से कि स्टैटिक कीवर्ड क्या होता है अ मोस्ट इंपोर्टेंट अभी हम स्टैटिक वेरिएबल समझते हैं इसके बाद हम स्टैटिक मेथड को अलग से समझेंगे कि ओनली अ सिंगल कॉपी ऑफ द स्टैटिक वेरिएबल इज क्रिएटेडटेड अमंग ऑल द इंस्टेंसस ऑफ द क्लास तो एक ही कॉपी बनती है और वही कॉपी हर जगह डिस्ट्रीब्यूटर है है तो जैसा आपने नॉर्मली देखा था कि अगर आप एक क्लास ये सपोज करो आपके एक क्लास है इस क्लास से आपने एक ऑब्जेक्ट बनाया p1 तो p1 मेमोरी के अंदर अलग जगह लेता है और इसके पास सपोज करो नॉर्मल वेरिएबल है इंट एज तो इस p1 के पास अपनी एज की खुद की कॉपी होती है और p2 अगर आपने बनाया इसका ऑब्जेक्ट तो उसके पास भी एज की कॉपी अपनी खुद की होगी राइट बिकॉज दिस इज इंट एज अ ये नॉन स्टैटिक वेरिएबल है लेकिन अगर आप एक स्टैटिक वेरिएबल बनाते हो किसी क्लास के अंदर ठीक है सपोज करो ये पर्सन क्लास है हमारी और इस पसन क्लास के अंदर मैंने एक स्टैटिक वेरिएबल बनाया स्टैटिक इंट काउंट तो स्टैटिक इंट काउंट जो है ना वो सिर्फ एक ही बार बनेगा जब यह क्लास लोड होगी वो तभी बनेगा व ऐसे बार-बार नहीं बनेगा उसकी सिर्फ एक ही कॉपी बनती है और वो तब बनती है जब क्लास लोड होती है आपकी और इसकी वैल्यू अगर कोई भी चेंज कर देता है कोई भी जैसे मान लो p1 ने इसकी वैल्यू चेंज कर दी काउंट की वैल्यू काउंट की वैल्यू इसने कर दी 12 उसके बाद अगर p2 एक्सेस करने का ट्राई करेगा तो क्योंकि इसने इसी जगह पर चेंज कि इसकी वैल्यू इसीलिए p2 को भी वो वैल्यू वैलू दिखने वाली है बात समझ में आ रही है कि इसकी कॉपी सिर्फ एक है वहीं पे जज की कॉपी अलग-अलग है कि अगर आप p1 . ए को चेंज करोगे तो p2 ए चेंज नहीं होगा बिकॉज़ दिस इज नॉन स्टैटिक लेकिन स्टैटिक मेथड या फिर स्टैटिक वेरिएबल जो भी होते हैं वो क्लास के वेरिएबल होते हैं राइट वो क्लास पे डिपेंड करते हैं यहां पर देखो समझो ठीक से स्टैटिक वेरिएबल कैन बी एक्सेस्ड बाय कॉलिंग द क्लास नेम ऑफ़ द क्लास तो ये चाहो तो आप बिना ऑब्जेक्ट के सीधा क्लास से भी एक्सेस कर सकते हो इनको क्योंकि इनके लिए क्लास बनाने की जरूरत नहीं है तो आप चाहो तो सीधा यह भी लिख सकते हो यहां पे जो कि यह रिकमेंड कर भी रहा है कि आप ऐसे करके एक्सेस मत करो इसे आप चाहो तो इसको सीधा क्लास के थ्रू एक्सेस कर सकते हो एंड क्लास इ पर्सन तो आप चाहो तो कैपिटल प वाले पर्सन के साथ डॉट काउंट भी कर सकते हो अभी भी यह वैलिड है अभी भी इसकी वैल्यू अपडेट हो चुकी होगी 50 हो गई होगी ठीक है आप यहां पर भी p1 काउंट की जगह लिख सकते हो पर्सन डॉट काउंट तो आपका पर्सन डॉट काउंट शुरुआत में था 12 जब यह क्लास लोड हुई थी उसके बाद फ्यूचर में आपने इसके काउंट को 50 कर दिया उसके बाद बाद में आपको 50 मिल रहा है तो अगर आप किसी ऑब्जेक्ट थ्रू भी से एक्सेस करोगे तब भी 50 ही मिलेगा क्योंकि हमें समझ में आ रहा है इसकी सिर्फ एक ही कॉपी बनेगी बिकॉज ये स्टैटिक है ठीक है तो स्टैटिक का ये फायदा होता है कि इसको एक्सेस करने के लिए कोई भी ऑब्जेक्ट बनाने की जरूरत नहीं है अब यहां पर देखो अगर मुझे इसको एक्सेस करना है काउंट को एक्सेस करना है तो काउंट को एक्सेस करने के लिए मुझे काउंट का ऑब्जेक्ट बनाने की जरूरत पर्सन का ऑब्जेक्ट बनाने की जरूरत नहीं पड़ेगी इसका अगर आपको एक बहुत बढ़िया एग्जांपल देखना है तो आप ऐसे समझ सकते हो कि मैथ के अंदर मैथ क्लास के अंदर इतनी सारी चीजें होती है राइट आपने देखा होगा मैथ क्लास के अंदर आपको अगर निकालना है मैथ डॉट मैक्स दो नंबर का मैक्सिमम नंबर निकालना है दो नंबर में से कौन सा बड़ा है तीन और छह में से बड़ा क्या है तो मुझे मैथ क्लास का मैक्स फंक्शन अगर यूज़ करना है तो मुझे इस मैक्स फंक्शन को यूज़ करने के टाइम पे मैथ क्लास का ऑब्जेक्ट बनाने की जरूरत नहीं पड़ी मैंने सीधा लिख दिया मैथड मैक्स राइट ये मैं क्यों कर पाया क्योंकि जो मैक्स है ना ये एक स्टैटिक मेथड है ठीक है आपको अगर चेक करना है तो आपको बस ये करना है कि कमांड करके इस पे क्लिक करो और सीधा आप मैक्स पे आ जाओगे और मैक्स पे आप देख सकते हो कि मैक्स एक स्टैटिक मेथड है और क्योंकि ये स्टैटिक मेथड है तो इसको आप सीधा एक्सेस कर सकते हो क्लास के नेम के थ्रू और यह एक पब्लिक मेथड भी है इसीलिए बाहर भी एक्सेस हो पा रहा है ठीक है तो ये पब्लिक और स्टैटिक मेथड है अगर ये पब्लिक और स्टैटिक नहीं होता तो आपको पहले मैथ का ऑब्जेक्ट बनाना पड़ता और उसके बाद आप उसको एक्सेस कर पाते हैं बट क्योंकि ये स्टैटिक है इसीलिए आप इसे एक्सेस कर पा रहे हो तो यहां पर भी वही सेम चीज है कि ये काउंट जो है वो स्टैटिक है आई थिंक समझ में आ रहा होगा इसी के अलावा हमारे पास कुछ और भी प्रॉपर्टीज होती है स्टैटिक की अ बिकॉज इट इज अ क्लास लेवल वेरिएबल मेमोरी एलोकेशन ऑफ सच वेरिएबल ओनली हैपेंस व्हेन द क्लास इज लोडेड इन द मेमोरी तो आपकी यूजुअली क्या होता है जब आपके ऑब्जेक्ट्स बनते हैं तो रन टाइम पे मेमोरी एलोकेट होती है राइट कि जब आपने p1 बनाया यहां पे जब कोड आपका रन हो रहा है लाइन बाय लाइन कोड रन हो रहा है तो उस टाइम पर रन टाइम पे आपके ऑब्जेक्ट एलोकेट हो रहे हैं मेमोरी के अंदर ठीक है कि पहले p1 का ऑब्जेक्ट रन हु ऑब्जेक्ट एलोकेट हुआ होगा उसके बाद जब आपने p2 बनाया तो p2 के लिए अलग मेमोरी एलोकेट हुई होगी तो इस तरीके से रन टाइम पे आपकी मेमोरी एलोकेट हो रही है लेकिन जो स्टैटिक चीजें होती है उनकी मेमोरी तभी एलोकेट हो जाती है जब आप कंपाइल कर रहे होते हो ठीक है उसी टाइम पे आपकी मेमोरी के अंदर एक अलग से उनके लिए मेमोरी एलोकेट कर दी जाती है तो स्टैटिक चीजें जो भी है इस क्लास के अंदर जैसे यहां पर आपको डेटा स्टोर करना था राइट 12 आपको स्टोर करना है तो जैसे ही यह मेमोरी में लोड हुआ होगा पर्सन क्लास भले ही वो मेथड रन हुआ हो मेन वाला रन ना हुआ हो फर्क नहीं पड़ता स्टैटिक वाली चीजें पहले से ही मेमोरी में लोकेट हो जाती है ठीक है तो पहले स्टैटिक के अंदर यह वैल्यू अपडेट हुई होगी 12 हुई होगी उसके बाद यह कोड यहां से रन होना स्टार्ट होगा ठीक है तो सबसे पहले स्टैटिक चीजों को मेमोरी दी जाती है उसके बाद से आपका कोड रन होना स्टार्ट होता है यह बात हमें समझनी है उसके बाद है इफ एन ऑब्जेक्ट मॉडिफाई द वैल्यू ऑफ स्टैटिक वेरिएबल द चेंज इज रिफ्लेक्टेड अक्रॉस ऑल ऑब्जेक्ट य तो हमने देख लिया वैसे स्टैटिक वेरिएबल कैन बी यूज टू यूज्ड इन एनी टाइप ऑफ मेथड स्टैटिक और नॉन स्टैटिक तो स्टैटिक चीजें जो है उनको आप चाहो तो स्टैटिक मेथड में या फि नॉन स्टैटिक मेथड में भी यूज कर सकते हो बिकॉज वो तो स्टैटिक है राइट उसको यूज करने के लिए आपको कोई ऑब्जेक्ट बनाने की जरूरत नहीं है लेकिन वहीं पर जो नॉन स्टैटिक चीजें हैं उनको आप सिर्फ नॉन स्टैटिक के अंदर यूज कर सकते हो उनको आप स्टैटिक के अंदर यूज नहीं कर सकते मैं समझाता हूं कैसे कि सपोज करो आपने एक मेथड बनाया और इस बार मैं बनाऊंगा इस मेन इन एनकैप्सूलेशन के अंदर और इसको हम यहां पर कमेंट कर देते पूरा का पूरा ठीक है करो ल दिस कमेंटेड नाउ और मैं यहां पर एक मेथड बनाता हूं कि पब्लिक स्टैटिक प्रिंट हेलो इस तरीके से तो क्योंकि एक स्टैटिक मेथड है पब्लिक स्टैटिक वॉइड प्रिंट हेलो और इसको मे को रन करना है तो मैं यहां पर बस प्रिंट हेलो कर देता हूं लेट से हेलो तो यह अगर मुझे मेथड कॉल करना है कहीं से भी तो मुझे इस मेन इन एनकैप्सूलेशन का ऑब्जेक्ट बनाने की जरूरत नहीं है ऑल आई कैन डू इज दिस मैं सीधा आऊंगा यहां पर लिखूंगा मेन इन एनकैप्सूलेशन मेन इन एनकैप्सूलेशन डॉट प्रिंट हेलो इस तरीके से राइट मैं ऐसा कर पा रहा हूं और मुझे इसके लिए इस क्लास का ऑब्जेक्ट बनाने की जरूरत नहीं है और क्योंकि मैं इसी क्लास के अंदर हूं तो मैं चाहूं तो इस लाइन को भी इस वर्ड को भी यहां से रिमूव कर सकता हूं लेकिन आपको दिख रहा होगा कि अगर आप चाहो तो इसको बाहर किसी क्लास के अंदर यूज कर सकते हो फॉर एग्जांपल कोई और अ मेन क्लास है सपोज कर ये वाली मेन क्लास है और इसके अंदर मुझे अ वो वाला फंक्शन कॉल कराना है प्रिंट हेलो वाला तो मुझे इस क्लास का ऑब्जेक्ट बनाने की जरूरत नहीं है बिकॉज ये ऑलरेडी स्टैटिक है ये वही बात हो गई जैसे मैं मैथड मै हॉल कर रहा था तो ये भी क्योंकि स्टैटिक है तो इसको अगर मुझे कहीं और मेन क्लास में यूज़ करना है तो ऑल आई हैव टू डू इज दिस मैं यहां पे लिखूंगा मेन इन एनकैप्सूलेशन डॉट प्रिंट हेलो तो मुझे इसका ऑब्जेक्ट बनाने की जरूरत नहीं पड़ी और मैं इसका प्रिंट हेलो यूज कर पा रहा हूं मुझे बस इसको इंपोर्ट कराना पड़ा इस तरीके से ठीक है ये इंपोर्ट वाली लाइन अपने आप लग जाती है यार क्योंकि इंटेलीजें तो स्मार्ट है ही तो यह वाली लाइन इसने अपने आप लगा दी इंपोर्ट वाली लाइन बिना इंपोर्ट के तो काम नहीं करेगा यह बट हा यह चीज हमारी काम कर रही है बिकॉज यह मेथड जो है वो एक स्टैटिक मेथड है लेकिन आप समझो अगर मैं यहां पर एक नॉन स्टैटिक मेथड बनाता हूं पब्लिक वॉइड प्रिंट हाई ठीक है तो यह मैंने स्टैटिक नहीं बनाया इसको मैंने वॉइड बनाया नॉर्मली और इसको मैं यहां पर लिखता हूं लेट्स से हाय तो यह वाला मेथड क्योंकि नॉन स्टिक मेथड है तो इसको कॉल करने के लिए आपको इस क्लास का ऑब्जेक्ट बनाना पड़ेगा ठीक है इस क्लास का ऑब्जेक्ट बनाए बिना आप इसको कॉल नहीं कर सकते हो और क्योंकि यह बेसिकली ऑब्जेक्ट के साथ डिपेंड करता है यह क्लास का य क्लास का नहीं है ठीक है यह डिपेंड करेगा अलग अलग ऑब्जेक्ट के ऊपर दिस इज नॉट अ मेंबर ऑफ अ क्लास इसको यूज करने के लिए आपको ऑब्जेक्ट बनाना पड़ेगा फॉर एग्जांपल सपोज करो मैं यहां पर सेे यूज करना चाहता हूं तो मैं सीधा अगर लिखूंगा प्रिंट हाई तो प्रिंट हाई इज नॉट अलाउड जबकि देखो मेरी क्लास के अंदर यह मेथड है लेकिन मैं तब भी इसको यूज नहीं कर सकता बिकॉज इसको यूज करने के लिए मुझे ऑब्जेक्ट बनाना पड़ेगा इसीलिए आप यह कह सकते हो कि स्टैटिक के अंदर से आप नॉन स्टैटिक चीजों को यूज नहीं कर सकते हो समझ में आई बात स्टैटिक के अंदर से नॉन स्टैटिक को इसलिए यूज नहीं कर सकते बिकॉज नॉन स्टैटिक को यूज करने के लिए उसका ऑब्जेक्ट बनाना पड़ता है वहीं पर स्टैटिक को यूज करने के लिए कोई भी ऑब्जेक्ट बनाने की जरूरत नहीं है ठीक है इसी वजह से स्टैटिक के अंदर से नॉन स्टैटिक यूज नहीं कर सकते हैं वहीं पर अगर आप चाहो तो नॉन स्टैटिक के अंदर ये नॉन स्टैटिक है इसके अंदर से आप चाहो तो स्टैटिक मेथड कॉल कर सकते हो फॉर एग्जांपल अगर आपको प्रिंट हेलो करना है यहां से तो प्रिंट हेलो कर लो यहां पे कोई दिक्कत नहीं है ये अलाउड है क्योंकि आपने ऑब्जेक्ट बना ही लिया है ठीक है ऑब्जेक्ट बना ही लिया तो प्रिंट हेलो भी कर ही दोगे आप क्या जा रहा है क्योंकि इसको यूज करने के लिए कोई ऑब्जेक्ट बनाने की जरूत नहीं है लेकिन प्रिंट हेलो के अंदर से अगर आप अ प्रिंट हाई करना चाहते हो तो वो अलाउड नहीं है ठीक है ये देखो प्रिंट हाई मुझे लिखने नहीं दे रहा ये क्यों अलाउड नहीं है बिकॉज इसको बना इसको कॉल करने के लिए आपको इस क्लास का ऑब्जेक्ट बनाना पड़ेगा तो आई थिंक अब आपको समझ में आ गया होगा कि क्यों ऐसा कहते हैं कि स्टैटिक के अंदर नॉन स्टैटिक चीजें अलाउड नहीं होती लेकिन नॉन स्टैटिक के अंदर स्टैटिक चीज अलाउड है इसीलिए हमेशा आपने देखा होगा मुझे कि मुझे जब भी कोई फंक्शन मेन से कॉल करना है जो कि ज्यादातर मुझे कॉल करने ही होते हैं तो मैं उन सभी मेथड्स को स्टैटिक बनाता हूं इसीलिए हम ज्यादातर मेथड्स को स्टैटिक बना रहे होते हैं क्योंकि उनको हमें मेन मेथड से कॉल करना होता है ठीक है अगर क्योंकि मेन मेथड मेरा स्टैटिक मेथड है तो स्टैटिक के अंदर से सिर्फ मैं स्टैटिक चीजें ही कॉल कर सकता हूं इसीलिए मैं बाकी सार चीजों को भी स्टैटिक बना रहा होता हू यूजुअली ठीक है तो यह आपका स्टैटिक के बारे में चीजें हो गई नॉन स्टैटिक वेरिएबल कैन नॉट बी यूज्ड इनसाइड स्टैटिक मेथड इट विल थ्रो अ कंपाइल टाइम एरर वो हमने ऑलरेडी देख लिया कि नॉन स्टैटिक चीजों को अगर आप एक्सेस करने का ट्राई करोगे स्टैटिक के अंदर से तो दैट विल नॉट बी अलाउड बिकॉज़ नॉन स्टैटिक चीजों को बनाने के लिए तो आपको ऑब्जेक्ट बनाना पड़ेगा ठीक है इसी के साथ स्टैटिक मेथड भी पढ़ लेते हैं स्टैटिक मेथड भी स्टैटिक वेरिएबल की तरह ही होते हैं बिहेव वैसे ही करते हैं अ द स्टैटिक मेथड एंड अ द स्टैटिक मेंबर्स एंड मेथड्स बिलोंग टू द क्लास राद दन द इंस्टेंस ऑफ द क्लास व्हेन द इंप्लीमेंटेशन ऑफ द पर्टिकुलर मेथड इज नॉट डिपेंडेंट ऑन इंस्टेंस वेरिएबल एंड इंस्टेंस मेथड इन दिस केस वी कैन मेक दैट मेथड टू बी स्टैटिक बेसिकली ये कह रहा है कि अगर किसी मेथड की इंप्लीमेंटेशन ऑब्जेक्ट्स पे डिपेंड नहीं करती है तब आप उस चीज को स्टैटिक बना सकते हो फॉर एग्जांपल हमने देखा मैथड मैक्स फंक्शन राइट ये मैक्स वाला फंक्शन जो था हमें पता है इसको यूज़ करने के लिए मुझे इस मैथ क्लास का ऑब्जेक्ट बनाने की जरूरत नहीं है तो मैं इस फंक्शन को स्टैटिक बना सकता हूं अगर आपको लग रहा है कि कोई मेथड ऐसा है जिसका यूज करने के लिए पर्टिकुलर ऑब्जेक्ट बनाने की जरूरत नहीं है तो उस केस में आप चाहो तो उसको स्टैटिक बना सकते हो फॉर एग्जांपल सपोज करो एक स्कूल क्लास है उस स्कूल क्लास के अंदर जैसा मैंने बताया कि अ या फिर एक अच्छा एग्जांपल दिखाता हूं मैं आपको ठीक है इसका एक बहुत बढ़िया एग्जांपल दिखाता हूं मैं जो मैंने यहां पर मैं लिख रहा था लेकिन फिर मैं कंप्लीट नहीं कर पाया व्हिच इज दिस पब्लिक स्टैटिक इंट काउंट सपोज करो इसकी वैल्यू जीरो है और मैं चाहता हूं कि पर्सन क्लास के जितने भी ऑब्जेक्ट बन रहे हैं ना उनको मैं प्रिंट करना चाहता हूं कि कितने ऑब्जेक्ट बन चुके हैं अब पर्सन क्लास के जो ऑब्जेक्ट्स बन रहे हैं वो तो किसी एक पर्टिकुलर ऑब्जेक्ट की प्रॉपर्टी नहीं होगी राइट वो तो पर्सन क्लास की प्रॉपर्टी है कि मेरी क्लास ने कितने ऑब्जेक्ट बना दिए अब ये सपोज करो कि आपके पास एक ब्लूप्रिंट है उस ब्लूप्रिंट से आपने 50 घर बना दिए अब आपको अगर पता करना है कि कितने घर बने तो आप हर एक घर में जाकर तो पूछोगे नहीं कि भाई कितने घर बने आप तो उस ब्लूप्रिंट के मालिक के पास जाओगे उससे पूछोगे भाई तुम्हारे ब्लूप्रिंट से कितने घर बने हैं राइट उन घरों को थोड़ा लेने देना कि कितने घर बन रहे हैं उस ब्लूप्रिंट से वो तो रह रहे हैं उस घर के अंदर राइट तो अब आप जाओगे सीधा ब्लूप्रिंट के पास उससे पूछोगे भाई कितने घर बने तुम्हारे से तो उसके लिए आपको बनाना पड़ेगा वो ब्लूप्रिंट का वेरिएबल बेसिकली स्टैटिक वेरिएबल राइट तो इसलिए मैंने यहां पे स्टैटिक काउंट बना लिया है और आपको पता है कि जब भी कोई भी ऑब्जेक्ट बनता है तो उस टाइम पे कंस्ट्रक्टर तो इवोक होता ही होता है राइट तो डिफॉल्ट कंस्ट्रक्टर तो इवोक होगा यहां पे पब्लिक पर्सन ये हमारा डिफॉल्ट कंस्ट्रक्टर है मैं इसके अंदर क्या करूंगा काउंट प्लस प्लस कर दूंगा कि जब भी मेरा ये डिफॉल्ट कंस्ट्रक्टर इवोक हो रहा है मैं काउंट प्लस प्लस कर दूंगा तो बेसिकली मैं स्टैटिक वेरिएबल की वैल्यू को अपडेट किया जा रहा हूं स्टैटिक वेरिएबल की वैल्यू तब तक अपडेट होती रहेगी जब जब मेरा काउंट पर्सन का ऑब्जेक्ट बनेगा तो अब यहां पर देखो यहां पर अच्छे से समझते हैं इसको तो मैं यहां पर प्रिंट हेलो वगैरह उड़ा देता हूं यह भी हटा दिया मैंने और जरा इस चीज को देखते हैं तो देखो यह मेरा पर्सन पव है जब पव पर्सन बनेगा तो ये इस तरीके से कंस्ट्रक्टर को कॉल करेगा यहां पर ये हमारा कंस्ट्रक्टर है राइट और ये कंस्ट्रक्टर काउंट प्लस प्लस कर देगा और काउंट प्लस प्लस कर भी पाएगा बिकॉज यह तो स्टैटिक वेरिएबल है तो यह यहां पर कर पाएगा इस चीज को ठीक है उसके बाद जब प2 बनेगा तो यहां पर दोबारा से व कंस्ट्रक्टर कॉल होगा और दोबारा से प2 की वैल्यू अपडेट हो जाएगी मैं काउंट को यहां पर ऐसे चेंज नहीं करूंगा और यहां पर जरा पर्सन डट काउंट प्रिंट करके देखेंगे ठीक है तो मैंने p1 बनाया फिर मैंने प2 बनाया मुझे दिख रहा है यहां पर दो हो जानी चाहिए वैल्यू जरा रन करके देखते हैं क्योंकि मेरे दो ऑब्जेक्ट बने और आप यहां पर देख रहे हो हां दो प्रिंट हो रहा है इस वाली चीज को मैं यहां से हटा देता हूं और यहां पर क्योंकि दो ऑब्जेक्ट बने इसलिए मेरे यहां पर दो प्रिंट हो रहा है तो बेसिकली दो बार वो कंस्ट्रक्टर कॉल हुई और दोनों बार उसने जीरो से पहली वैल्यू को वन किया फिर वन से उसने टू किया अगर मैं एक और ऑब्जेक्ट बनाता हूं यहां पर लेट्स से पर्सन p3 बनाता हूं मैं तो क्योंकि तीन बार मेरा कंस्ट्रक्टर कॉल हुआ यह वाला इसलिए यहां पर तीन बार इस काउंट की वैल्यू को अपडेट किया गया है और यहां पर इस बार पर्सन डॉट काउंट जो है वो थ हो जाएगा ठीक है तो आई थिंक समझ में आ रहा होगा स्टैटिक वेरिएबल का फायदा क्या है क्यों बनाना पड़ता है कि स्टैटिक चीजें जो भी होते है वो आपकी सीधा क्ला पर डिपेंड करती है उनको ऑब्जेक्ट पर डिपेंड करने की जरूरत नहीं है ठीक है वो क्लास की प्रॉपर्टी है वो जब क्लास बनती है तभी लोड हो जाती है उनको ऑब्जेक्ट का वेट नहीं करना पड़ता कि जब ऑब्जेक्ट बनेगा तभी हम लोड होंगे नहीं वो क्लास के साथ ही लोड हो जाती है तो स्टैटिक चीजें जो होती है वो क्लास के साथ लोड हो जाती है इसी के अलावा एक और चीज होती है व्हिच इज कॉल्ड स्टैटिक ब्लॉक मैंने स्टैटिक ब्लॉक यहां पर नहीं लिखा हुआ है लेकिन स्टैटिक ब्लॉक हम ऐसे समझ लेते हैं कि स्टैटिक ब्लॉक सबसे पहले रन होता है मेन मेथड रन होने से पहले भी स्टैटिक ब्लॉक रन होता है क्योंकि स्टैटिक का काम यही है कि चीजें जब मेमोरी में लोड हो रही है शुरुआत में नहीं तभी चीजों को इनिला इज कर देना ठीक है तो स्टैटिक ब्लॉक के अंदर आप चाहो तो वो चीजें कर सकते हो जो आप चाहते हो शुरुआत में रन हो फॉर एग्जांपल ये मेरा मेन एनकैप्सूलेशन है राइट आपको पता है कि सबसे पहले तो काम मेन मेथड से स्टार्ट होता है तो आपको लग रहा होगा सबसे पहले ये रन होगा मैं दिखाता हूं यहां पे मैं लिखता हूं यह कि फ्रॉम द मेन मेथड तो फ्रॉम द मेन मेथड सबसे पहले रन होना चाहिए राइट और अभी रन होगा भी हमें दिख रहा है फ्रॉम द मेन मेथड सबसे पहले रन हुआ लेकिन व्हाट इफ आई टेल यू कि इससे भी पहले हम कुछ और चीज रन करा सकते हैं और वो होगा हमारा स्टैटिक ब्लॉक तो स्टैटिक ब्लॉक बनाने के लिए आपको कुछ नहीं करना पड़ता बस लिखते हो स्टैटिक उसके बाद एक ऐसे ब्लॉक बना देते हो और स्टैटिक ब्लॉक का मतलब यह हो गया कि वो काम कर लो जो आप चाहते हो कि जब यह क्लास लोड हो रही है ना तभी हो जाए क्लास लोड होती है उसके बाद फंक्शन लोड होता है उसके बाद फंक्शन एग्जीक्यूट होना स्टार्ट होता है ठीक है तो क्लास लोड होने के टाइम पे जो काम आपको करना है वो आप काम आप इस स्टैटिक ब्लॉक के अंदर कर सकते हो तो इसके लिए इसके अंदर बेसिकली आप अपनी क्लास को इनिश इज वगैरह कर सकते हो तो इसके अंदर आप चाहो तो कुछ भी काम कर सकते हो फॉर एग्जांपल अगर मैं य प्रिंट करना चाहूं कि कॉल्ड फ्रॉम द स्टैटिक ब्लॉक तो यह जो ब्लॉक है यह देखो स्टैटिक ब्लॉक पहले कॉल हो गया ट स्टैटिक ब्लॉक ऐसे ही कॉल होते हैं सबसे पहले आपकी य क्लास जो है वो मेमोरी में लोड हो रही है और जैसे जैसे स्टैटिक ब्लॉक मिलते आ रहे हैं वैसे-वैसे वो प्रिंट होते आ रहे मतलब एग्जीक्यूट होते आ रहे है लाइन में लाइन तो पहले ये वाला स्टैटिक ब्लॉक मिल गया सपोज करो फिर उसके बाद यह वाला स्टैटिक ब्लॉक मिल गया नीचे कहीं ठीक है ये एक और स्टैटिक ब्लॉक बना दिया मैंने फ्रॉम द सेकंड स्टैटिक ब्लॉक तो एक एक करके सारे सारे स्टैटिक ब्लॉक रन होंगे सबसे पहले तो कॉल फ्रॉम द स्टैटिक ब्लॉक उसके बाद कॉल फ्रॉम द सेकंड स्टैटिक ब्लॉक सारे सारे स्टैटिक ब्लॉक खत्म हो गए उसके बाद मेन मेथड ने अपना काम स्टार्ट किया तो फ्रॉम द मेन मेथड कॉल हुआ उसके बाद यह फिर थ्री प्रिंट हो गया बिकॉज तीन बार आपने पर्सन क्लास का ऑब्जेक्ट बनाया तो यह एक स्टैटिक ब्लॉक का कांसेप्ट होता है बहुत ज्यादा इंपॉर्टेंट तो नहीं है लेकिन डेवलपमेंट के टाइम प आप लोग इसे यूज कर रहे होते तो यह स्टैटिक ब्लॉक भी हम समझ गए होंगे डीएसए के टाइम पर आप इसको यूज नहीं करते हो ठीक है डीएसए के अंदर आप सिंपल आपको एक मिला होता है क्वेश्चन के अंदर सिर्फ उस फंक्शन को इंप्लीमेंट करना होता है आपको मेन मेथड की भी टेंशन लेने की जरूरत नहीं है आपने देखा होगा हमारे जितने भी कंपाइलर्स हैं आपको मिल रहे हैं कोडिंग शेडल के अंदर उनके अंदर आपको मेन मेथड भी बनाने की जरूरत नहीं पड़ रही है राइट सीधा एक फंक्शन इंप्लीमेंट करना पड़ रहा है वो इसलिए क्योंकि बिहाइंड द सीन आपके लिए वो मेन मेथड से हम कॉल कर दे रहे हैं आपको बनाने की जरूरत नहीं है ठीक है तो आपको मेन वगैरह की स्टैटिक वगैरह की इन सब की टेंशन लेने की बिल्कुल भी जरूरत नहीं है आपको सिंपल अपना नॉर्मल जो डीएसए के अंदर प्रॉब्लम सॉल्विंग स्किल है ना उस पर ध्यान देना होता है लेकिन जावा समझ रहे हैं अगर हम ठीक से तो जावा को हम अच्छे से समझेंगे तो उसके अंदर स्टैटिक ब्लॉक का भी एक योगदान होता है जो आई थिंक समझ में आ गया होगा ठीक है कि अगर आपको क्लास के रिलेटेड चीजें बनानी है तो आप उन चीजों को स्टैटिक बनाओगे तो यही था पूरा का पूरा स्टैटिक के अंदर उसके अलावा ये लिखा हुआ है दे आर एक्सेस बाय द नेम ऑफ द क्लास तो आप चाहो तो सीधा क्लास नेम से उनको एक्सेस कर सकते हो जैसे हमने देखा था मैथड मैक्स ठीक है तो उसके लिए मैथ का कोई ऑब्जेक्ट पने की जरूरत नहीं पड़ी थी हमें द कीवर्ड सच एज दिस एंड सुपर आर नॉट यूज्ड इन द बॉडी ऑफ द स्टैटिक मेथड ये एक इंपॉर्टेंट कांसेप्ट है कि अ दिस या सुपर आप स्टैटिक मशी यूज नहीं कर सकते बिकॉज़ दिस का मतलब तो ये होता है ना कि करंट ऑब्जेक्ट को एक्सेस कर रहे हो स्टैटिक के अंदर तो कोई ऑब्जेक्ट बन ही नहीं रहा तो दिस कैसे यूज कर लोगे आप तो अगर आप स्टैटिक ब्लॉक के अंदर दिस यूज़ करने का ट्राई करोगे तो वो आपको कंपाइल टाइम एटर देगा सिमिलरली सुपर का मतलब ये होता है कि आप पेरेंट का इंस्टेंस यूज कॉल करने का ट्राई कर रहे हो तो जब तक आप करंट का ऑब्जेक्ट नहीं बनाया तो पेरेंट का ऑब्जेक्ट तो कहीं से बन गया राइट तो अगेन सुपर भी यूज़ नहीं कर सकते तो दिस एंड सुपर तो सीधा ऑब्जेक्ट पे काम करते हैं इसीलिए उनको आप यूज नहीं कर सकते स्टैटिक के अंदर अगला है द मॉडिफिकेशन ऑफ द स्टैटिक फील्ड वैल्यू इज नॉट अलाउड अ तो बेसिकली इसका मतलब यह है अब आप बोलोगे भाई ये तो अलाउड है मतलब ये तो हम कर सकते हैं कि स्टैटिक फील्ड को हम बाद में चेंज कर सकते हैं लेकिन अ लद इट इज अलाउड बट इट इज डिस्क जड कि आप स्टैटिक फील्ड वैल्यूज को फ्यूचर में कहीं और चेंज कर रहे हो राइट क्योंकि आपको पता है अगर आपने एक जगह चेंज कर दिया स्टैटिक वैल्यू को तो वो हर जगह चेंज हो जाएगा राइट आप ऐसा नहीं चाहते अपने कोड के अंदर कि आप स्टैटिक अ आपने कहीं चेंज कर दिया और किसी और जगह को पता ही नहीं है क्योंकि स्टैटिक का मतलब ये होता है कि वो क्लास डिपेंडेंट है राइट कि वो क्लास की वैल्यू है तो अगर कोई भी ऑब्जेक्ट उसे अगर चेंज कर दे रहा है तो फ्यूचर में उसको एक्सेस ही नहीं कर पाएगा फॉर एग्जांपल सपोज करो हमने एक क्लास बनाई स्कूल उसके अंदर मुझे पता है स्कूल का जो नेम है वो एक ही बार सेट होगा उसके बाद वो नेम कभी चेंज नहीं होगा अब अगर स्कूल के अंदर मल्टीपल ऑब्जेक्ट बन रहे हैं और वो हर एक ऑब्जेक्ट उसका नाम चेंज करे जा रहे हैं तो कोई भी चेंज कर सकता है नाम को राइट और अगर एक ने चेंज कर दिया नाम और दूसरे ने चेंज कर दिया नाम तो तो जो पहले ने नाम चेंज किया था वो ओवरराइड हो जाएगा वहां पर तो इसीलिए कहते हैं कि एक स्टैटिक वेरिएबल जो है उसको आपको अलाव नहीं करना चाहिए दूसरे ऑब्जेक्ट को चेंज करना भी तो अगर आप ऐसी चीज इफोर्स ही करना चाहते हो क्योंकि आपको पता है स्टैटिक चीज आपने बना ली वो तो फ्यूचर में चेंज हो सकती है राइट हमने बनाई भी थी पर्सन के अंदर मैंने स्टैटिक इंट काउंट बनाया था ये काउंट मैं यहां पर चेंज कर सकता हूं इजली और मैं यहां पर चेंज कर भी पा रहा था पर्सन ड काउ को चेंज कर सकता हूं यहां पे पर्सन डॉट काउंट इक्वल्स टू कुछ भी जैसे मैंने 12 कर दिया बट दिस इज डिस्क बिकॉज़ पर्सन क्लास कहीं और भी अगर यूज़ हो रही होगी इस कोड के अलावा तो वहां भी वो चेंज हो चुका हो अकाउंट ठीक है इसीलिए डिस्क करज है ये अगर आप लेकिन ये चीज इफोर्स करना चाहते हो तो उसके लिए आप इसको फाइनल बना दो क्योंकि फाइनल हमने देखा था फाइनल बनने के बाद कोई चीज अपडेट नहीं हो सकती ठीक है तो पब्लिक स्टैटिक फाइनल कर दो किसी चीज को तो उसका मतलब यह वैल्यू पत्थर की लकीर बन चुकी है उसके बाद कभी चेंज नहीं होगी तो इसका मतलब यहां पे चेंज नहीं होगी राइट तो काउंट को तो हम फाइनल नहीं बनाते लेकिन सपोज करो मैं एक और चीज़ बनाता हूं पब्लिक स्टैटिक अ पब्लिक स्टैटिक फाइनल एंट साइंटिफिक नेम ठीक है मुझे पता है साइंटिफिक नेम जो पर्सन का है वह हमेशा सेम रहेगा होमोसेपियंस तो यह कभी चेंज नहीं हो सकता राइट कि इस पर्सन के लिए पर्सन क्लास के लिए यह जो वैल्यू है यह पत्थर की लगी रहा है यह कभी चेंज नहीं हो सकती तो मैं उसको बना दूंगा स्टैटिक भी और फाइनल भी बिकॉज यह क्लास की प्रॉपर्टी है इसलिए स्टैटिक है और ये कभी भी चेंज नहीं हो सकती इसलिए फाइनल भी है ये भी क्लास की प्रॉपर्टी है लेकिन ये चेंज हो सकती है यहां पर आप देख रहे हो बारबार आप आप काउंट प्लस प्लस कर रहे हो तो ये चेंज हो सकती है इसलिए मैंने इसको फाइनल नहीं बनाया लेकिन मैंने इसको फाइनल बना दिया है और ऐसा ही मैथ क्लास के अंदर भी होता है आपने देखा होगा मैथ के अंदर अगर आप एक्सेस करने का ट्राई करते हो एस आउट पाई को ठीक है तो मैथड पाई आप एक्सेस कर सकते हो इस तरीके से तो ये जो पाई वैल्यू है ना यह मैथ के अंदर डिफाइंड है ऑलरेडी और ये पब्लिक स्टैटिक वैल्यू है ठीक है पब्लिक स्टैटिक फाइनल डबल ये देखो ये स्टैटिक और फाइनल है स्टैटिक इसलिए क्योंकि इसको यूज करने के लिए आपको ऑब्जेक्ट माने की जरूरत नहीं है और फाइनल इसलिए कि पाई की वैल्यू कभी चेंज नहीं होगी ये यूनिवर्सल वैल्यू है सिमिलरली जो e होता है उसकी वैल्यू भी पब्लिक स्टैटिक फाइनल है डिग्री टू रेडियन जो आपका कांस्टेंट है व भी फाइनल है और रेडियन टू डिग्री कांस्टेंट भी आपका फाइनल है तो ये कुछ पब्लिक स्टैटिक फाइनल वैल्यूज है मैथ के अंदर ये बेसिकली बता रही है कि ये वैल्यूज तो पत्थर की लकीर है यूनिवर्सल है इनको कोई चेंज नहीं कर सकता हम इनको चेंज करना अलाव भी नहीं करेंगे किसी को ठीक है तो अगर आप कभी चेंज करने का ट्राई करते भी हो फ्यूचर में सपोज करो जैसे मैंने यहां पे बना लिया है पर्सन के अंदर मैंने साइंटिफिक नेम बना लिया इस तरीके से ठीक है और मेरा मन कर रहा है कि भाई इस पर्सन के अंदर का साइंटिफिक नेम चेंज करने का मन कर रहा है तो पर्सन डॉट साइंटिफिक नेम मैं यहां पे चेंज करने का ट्राई करता हूं लेट्स से कुछ भी अ एंफीबियन तो नॉट अलाउड भाई क्योंकि यह फाइनल है ठीक है कैन नॉट असाइन अ वैल्यू टू अ फाइनल वेरिएबल लेकिन आप इसको यूज कर सकते हो कभी भी कोई भी यूज कर सकता है पर्सन डॉट साइंटिफिक नेम को अगर इसको कभी किसको प्रिंट कराना हुआ तो वो प्रिंट करा सकता है इसको तो गेट कर सकते हो लेकिन चेंज नहीं कर सकते सेट नहीं कर सकते कभी भी बिकॉज इट फाइनल तो धीरे-धीरे करके चेज साइंस बना रही होंगी ठीक है पब्लिक समझ में आ रहा होगा स्टैटिक समझ में आ रहा होगा फाइनल समझ में आ रहा होगा इसके अलावा और क्या दिखा दिस और सुपर तो पहले समझ में आ गए थे ठीक है तो अब कुछ-कुछ कीवर्ड हमें सेंस बना रहे हैं और आज हमने देखा एनकैप्सूलेशन को इसके अलावा हमने देखा पैकेजेस को इंपोर्ट स्टेटमेंट देखिए तो काफी सारे नए-नए कीवर्ड्स हो गए हैं इन शॉर्ट शॉर्ट स्पैन ऑफ टाइम तो अपना माइंड एकदम कंफ्यूज मत कर लेना एकदम लॉजिकली चलना क्योंकि हर एक कीवर्ड का अपना-अपना कुछ-कुछ मतलब है लॉजिकली समझोगे तो ऊप्स बहुत ही आसान टॉपिक है ठीक है तो इसी के साथ हम मिलेंगे नेक्स्ट क्लास के अंदर जहां पर हम एब्स्ट्रेक्शन पढ़ेंगे इंटरफेस के बारे में पढ़ेंगे वो होगा नेक्स्ट क्लास में चलते हैं बाय बाय हे वस अप गाइ आज हम उप्स के अंदर आगे बढ़ेंगे और कुछ और मेन कांसेप्ट की बात करने वाले हैं आज हम पढ़ेंगे एब्स्ट्रेक्शन के बारे में एब्स्ट्रेक्ट कीवर्ड को देखेंगे इसके अलावा इंटरफेस को समझेंगे लैडा को समझेंगे लैडा एक्सप्रेशन कैसे लिखी जाती हैं ठीक है तो आज काफी इंपोर्टेंट क्लास होने वाली है उप्स की और बेसिकली एब्स्ट्रेक्शन समझ रहे होंगे मेनली तो तो एब्स्ट्रेक्शन इज आल्सो वन ऑफ द पिलर ऑफ ऊप्स ठीक है उप्स के हमने चार मेन पिलर होते हैं जिसमें से तीसरा आज हम पढ़ने वाले हैं इससे पहले हमने देखा था इन्हेरिटेंस सबसे पहले उसके बाद हमने एनकैप्सूलेशन समझ लिया था आज हम एब्स्ट्रेक्शन समझेंगे इसके बाद पॉलीमोर्फस बचेगा आपका ठीक है अ उससे पहले हम पढ़ेंगे एब्स्ट्रेक्ट कीवर्ड क्या होता है देन एब्स्ट्रेक्शन को समझेंगे ठीक है इंटरफेस की हेल्प से आप लोग कैसे एब्स्ट्रेक्शन अचीव कर पाते हैं और इंटरफेस कैसे काम करते हैं यह भी समझेंगे एंड देन यह दो कांसेप्ट व्हिच आर अराउंड क्लासेस इनर क्लास नेस्टेड क्लास और एनोनिमस क्लास यह तीनों समझेंगे ठीक है उसके बाद यह दो चीजें हो जाती है हमारी लैडा रिलेटेड अ फंक्शनल इंटरफेस और लैडा य ये दोनों बेसिकली सेम ही चीज है लेकिन ये सब कुछ समझ में आ जाने वाला है आज हमें ठीक है तो स्टार्ट करेंगे सबसे पहले एब्स्ट्रेक्ट कीवर्ड के साथ तो एब्स्ट्रेक्ट कीवर्ड जहां लग जाता है ना बेसिकली एब्स्ट्रेक्ट आप क्लासेस बना सकते हो और मेथड्स बना सकते हो एब्स्ट्रेक्ट क्लासेस और मेथड्स बेसिकली कहते हैं कि हम एब्स्ट्रेक्ट है मतलब हमारी कोई भी डेफिनेशन नहीं है एब्स्ट्रेक्ट आर्ट आपने देखा होगा कि जो डिफाइंड नहीं है आर्ट राइट कुछ आर्ट डिफाइंड होता है लेकिन एब्स्ट्रेक्ट आर्ट डिफाइंड नहीं है वैसे ही एब्स्ट्रेक्ट मेथड्स भी आप लोग डिफाइन नहीं करते हो एब्स्ट्रेक्ट मेथड को आप लोग बोल देते हो कि ये तो बस एक कांसेप्ट है इसको इसके सब क्लासेस डिफाइन करेंगे फ्यूचर में ठीक है तो इसको ठीक से समझते हैं एब्स्ट्रेक्ट क्लास इन जावा कैन नॉट बी इंस्टेंशिएट एक और चीज जब कोई चीज एक कंसेप्ट होती है तो उसको आप इंस्टेंशिएट भी नहीं कर सकते फॉर एग्जांपल सपोज करो मैंने एक कंसेप्ट दे दिया कि एक ऐसा कुछ होना चाहिए यार जिससे कि ना अ जिसके अंदर कुछ पहिए हो और जिसके अंदर एक इंजन हो और लेट्स कॉल इट व्हीकल और वो ना कहीं से कहीं पहुंचा दिया करें हमें ठीक है तो इट्स जस्ट अ कांसेप्ट अभी बस मेरे माइंड में वो कांसेप्ट है राइट तो उस कांसेप्ट से मैं मल्टीपल चीजें बना सकता हूं हो सकता है मैं उस कांसेप्ट से कार बना दूं हो सकता है मैं उस कांसेप्ट से एक बाइक बना दूं हो सकता है उस कांसेप्ट से मैं एक ट्रक बना दूं राइट तो इस तरीके से एक कांसेप्ट होता है एब्स्ट्रेक्ट क्लास तो एब्स्ट्रेक्ट क्लास को आप इंस्टेंशिएट नहीं कर सकते हो इसके बाद एब्स्ट्रेक्ट क्लास कैन हैव बोथ रेगुलर मेथड एंड एब्स्ट्रेक्ट मेथड एक्चुअली ये यहां पर इतना क्लियर नहीं समझ में आएगा जितना क्लियर हमें नॉर्मल अपना कोड करते टाइम समझ में आएगा तो लेट्स लुक एट सम कोड तो उसके लिए मैं यहां पे एक फोल्डर बना लेता हूं इसके अंदर हम एक क्लास बना लेंगे लर्न एब्स्ट्रेक्ट नाम से इस तरीके से तो उप्स 4 के अंदर लर्न एब्स्ट्रेक्ट हो गई और एक काम करता हूं मैं एक पब्लिक क्लास तो हो सकती है इसके अलावा एक और क्लास बनाता हूं मैं यहां पर लेट्स कॉल इट वकल ठीक है हमारे पहले एग्जांपल की तरह ही और मैं इसको एब्स्ट्रेक्ट क्लास बनाऊंगा एब्स्ट्रेक्ट क्लास का मतलब क्या होता है बेसिकली इस क्लास को फिर आप इंस्टेंशिएट नहीं कर सकते फर एग्जांपल सपोज करो मैं लर्न एब्स्ट्रेक्ट के अंदर फिलहाल इस क्लास को इंस्टेंशिएट करने का ट्राई करता हूं तो पब्लिक स्ट व एडमन उसके बाद व्हीकल v1 इटू न्यू व्हीकल राइट यह अभी अलाउड है अभी ये एब्स्ट्रेक्ट क्लास नहीं है लेकिन मैं काम करूंगा इसके अंदर एब्स्ट्रेक्ट क्लास बना दूंगा ऐसे तो एब्स्ट्रेक्ट क्लास बनाने के लिए बस आपको करना है एब्स्ट्रेक्ट क्लास और उसके बाद यहां पर देखो एरर आने लग गया ठीक है ये कह रहा है कि आप इसका ऑब्जेक्ट नहीं बना सकते व्हीकल इज एब्स्ट्रेक्ट कैन नॉट बी इंस्टेंशिएट तो ये तो हमें समझ में आ गया कि अगर कोई चीज एब्स्ट्रेक्ट है कोई क्लास एब्स्ट्रेक्ट है तो उसको आप इस तरीके से उसका ऑब्जेक्ट नहीं बना सकते तो आप बोलोगे भैया फिर अगर हम ऑब्जेक्ट नहीं बना सकते तो उसका यूज कैसे करेंगे मैं बोलूंगा इसका यूज नहीं कर सकते आप लेकिन इसके जो भी चाइल्ड होंगे उनका आप यूज़ कर सकते हो ठीक है तो ये बेसिकली बस एक एब्स्ट्रेक्ट क्लास है इसके अंदर आप चाहो तो एब्स्ट्रेक्ट मेथड सकते हो तो इसके अंदर एब्स्ट्रेक्ट मेथड कैसे बनेंगे तो आप लिखोगे एब्स्ट्रेक्ट उसके बाद लेट्स से एब्स्ट्रेक्ट वॉइड एक्सीलरेट इस तरीके से तो यह बेसिकली एक फंक्शन है एक्सलरेट नाम का और इसको बस मैंने यहां पर डिफाइन किया मतलब इसको बस मैंने यहां पर डिक्लेयर किया लेकिन इसको डिफाइन नहीं किया मतलब मैंने यहां पर यह नहीं लिखा और यहां पर अगर मैं ये लिखने जाऊंगा ना तो यह एरर भी दे देगा मुझे बोलेगा कि इसकी बॉडी नहीं हो सकती एब्स्ट्रेक्ट मेथड कैन नॉट हैव अ बॉडी तो आपको यहां से इसकी बॉडी हटानी है और यहीं पर स्टेटमेंट को खत्म कर देना है बाय इंक्लूडिंग अ सेमीकलन एट द एंड तो यह हो गया बेसिकली एक एक्सलरेट मेथड जिसकी कोई भी बॉडी नहीं है तो वही मैं कह रहा था कि कांसेप्ट है ये बेसिकली बस एक कि व्हीकल है जिसके अंदर मैंने बस एक कांसेप्ट दे दिया कि एक व्हीकल होना चाहिए कुछ जिसके अंदर हम ऐसे एक्सलरेट कर पाए इसके अलावा सपोज करो इसके अंदर मैं कुछ और भी कांसेप्ट डालता हूं जैसे कि एब्स्ट्रेक्ट वॉइड अब ब्रेक भी लगानी चाहिए राइट ब्रेक तो इस तरीके से मैंने एब्स्ट्रेक्ट मेथड डिफाइन कर दिया अब ये जो एब्स्ट्रेक्ट मेथड है हमें इसे यूज करना है तो हम कैसे यूज़ करेंगे यहां पर आप ऑब्जेक्ट तो बनाने दे नहीं रहे तो ऑब्जेक्ट तो हम यूज नहीं कर सकते इसका तो बेसिकली हम इसके चाइल्ड क्लास इसके सब क्लासेस बना सकते हैं ठीक है तो फॉर एग्जांपल यहां पे मैं बनाता हूं एब्स्ट्रेक्ट सॉरी यहां पे नॉर्मल क्लास बनाएंगे हम क्लास कार एक्सटेंड्स व्हीकल ठीक है इस तरीके से अब क्योंकि इस कार ने इसको एक्सटेंड किया है व्हीकल को तो इस कार को फिर इसके जो मेथड्स है वो इंप्लीमेंट करने पड़ेंगे ठीक है तो ये इसके अन इंप्लीमेंटेड मेथड्स है राइट इनकी कुछ इंप्लीमेंटेशन इस व्हीकल ने तो दी नहीं है तो मुझे आप पर इंप्लीमेंट करने पड़ेंगे अगर नहीं करूंगा तो यहां पे एरर मिलेगा क्लास कार मस्ट इदर बी डिक्लेयर्ड एज एब्स्ट्रेक्ट और इंप्लीमेंट इसके मेथड तो या तो यह बोल रहा है कि या तो इस क्लास कार को भी आप एब्स्ट्रेक्ट बोल दो कि भाई इस क्लास कार को भी हमने एब्स्ट्रेक्ट बना दिया है तो इसके अंदर भी इंप्लीमेंट करने की जरूरत नहीं है राइट क्योंकि एब्स्ट्रेक्ट क्लास के अंदर आप चाहो तो इंप्लीमेंट मत करो फर्क नहीं पड़ता या फिर इसके अंदर इंप्लीमेंट करो अगर ये नॉर्मल क्लास है तो ठीक है तो हमें जितने भी इसके अंदर एब्स्ट्रेक्ट मेथड्स हैं उनको इंप्लीमेंट यहां पर करना होगा तो मैं ऐसा करता हूं यहां पर बस मुझे इस पर क्लिक करना है एंड देन इंप्लीमेंट मेथड्स पे मैं क्लिक करूंगा फिर ये मुझे पूछेगा कौन-कौन से मेथड आपको इंप्लीमेंट करने हैं उसके बाद आप ओके कर दो बस और यहां पर देखो इसने अपने आप इन दोनों को इंप्लीमेंट कर दिया है ठीक है आप देखो वॉइड एक्सलरेट और वॉइड ब्रेक्स इस तरीके से दो मेथड बन चुके हैं आप चाहो तो यहां पर इसको इंट ब्रेक्स भी बना सकते हो एब्स्ट्रेक्ट इंट ब्रेक्स और यहां पर आप सपोज करो इंट व्हील्स ऐसे पास कर दिया आपने तो अब यहां पर एरर आ रहा है क्योंकि आपने इस सिग्नेचर वाला कोई भी मेथड अब यहां प इंप्लीमेंट नहीं किया राइट जो कि व्हील्स को ले रहा है तो यहां पर हम डालेंगे इंट व्ल्स और इस वॉइड की जगह कर देंगे इंट तो इस तरीके से बेसिकली आपको ये मेथड ओवरराइड करने पड़ रहे हैं यहां पे ठीक है इंप्लीमेंट करने पड़ रहे हैं फिर यहां पर रिटर्न कर देते हैं फिलहाल के लिए ट से रिटर्न वल्स अ अब यहां पर देखो ऊपर एक चीज लिखी हुई है ट द रेट करके अब ये ट द रेट वाली चीज क्या है तो इसे हम बोलते हैं एनोट ठीक है दिस इज कॉल्ड एनोट और इसका कुछ एस सच यूज नहीं होता मतलब आप चाहो तो इसको हटा सकते हो यहां से और बिना एनोट के भी आपका काम चल जाएगा ऊपर ये जो नो यूसेजेस लिखा हुआ है ये तो इंटेलिजेंट है खुद लिखा हुआ है आपने नहीं लिखा ठीक है ये तो नो यूसेज बता रहा है आपको कि इसको अभी तक आपने यूज नहीं किया कहीं पे तो यह तो ऐसे ही लिखा हुआ है लेकिन जो ट द रेट करके लिखा हुआ था ये चीज रेट ओवरराइड यह बेसिकली बता रहा है कि यह मेथड मैं ओवरराइड कर रहा हूं कहीं से तो ओवरराइड बेसिकली स्पेलिंग चेक करने के काम में आता है आपकी अगर आपने ओवरराइड लगा रखा है तो आपका चेक किया जाएगा पेरेंट क्लास में कि कोई एक्सलरेट नाम का मेथड है क्या तो अगर आप सपोज करो यहां पे कोई और मेथड बनाते हो लेट्स से वाइड एक्सीलरेट और एक्सीलरेटेड नाम रख देते हैं उसका ठीक है इस तरीके से तो ये मेथड अलाउड है बिकॉज़ क्लास कार के अंदर यह एक्सीलरेटेड नाम का मेथड हो सकता है लेकिन अब मैं इसको करता हूं ट रेट ओवरराइड तो मुझे यहां पे एरर मिलेगा @ ओवरराइड यह बोलेगा एक्सीलरेटेड नाम का मेथड किसी भी पेरेंट के अंदर था ही नहीं तो कार का पेरेंट है व्हीकल और व्हीकल का पेरेंट है मेन क्लास जो आपकी ऑब्जेक्ट क्लास है राइट तो सबके ऊपर आपकी ऑब्जेक्ट क्लास तो बैठी होती है इडेंस में हमने समझा था कि सबसे ऊपर वाली क्लास आपकी ऑब्जेक्ट क्लास होती है तो यह ऊपर तक जाएगा उे बोलेगा कि एक्सीलरेटेड नाम का मेथड कहीं नहीं मिला तो ये सिंपल आपके पास स्पेलिंग चेक करने के काम में आता है कि कहीं आप स्पेलिंग मिस्टेक ना कर दो जैसे कि यहां पर तो इस मिल रहा है कि एक्टेड नाम का कुछ भी नहीं है तो इसको आप हटा दोगे सिमिलरली अगर आप यहां पर स्पेलिंग कुछ गलत कर देते हो तो यहां पर भी एरर दे देगा कि भाई आप कौन सा मेथड ओवर ड कर रहे हो यह वाला मेथड तो कहीं पर भी नहीं है और साथ में यहां पर भी एरर मिल गया हमें कि आपने एक्सलरेट वाला मेथड कार का व्हीकल क्लास का अभी तक आपने इंप्लीमेंट नहीं किया है तो सिंपल बस स्पेलिंग चेक करने के लिए है और कुछ कुछ काम नहीं है इसका और यहां पर लेट्स से हम इसकी इंप्लीमेंटेशन डाल देते हैं तो एस आउट कार इज एक्सीलरेटिंग इस तरीके से तो हमारी कार एक्सलरेट कर रही है यहां पर और सपोज करो यहां पर मैंने कार कार ब्रेक्स आर पुश्ड ठीक है कुछ भी तो यह मेरी कार की इंप्लीमेंटेशन हो गई ठीक है तो व्हीकल एक कांसेप्ट था जिसकी हेल्प से मैंने कार नाम की क्लास बना ली अब मैं इस कार क्लास के ऑब्जेक्ट बना सकता हूं मल्टीपल तो यह व्हीकल आपको समझ में आ रहा होगा कि ये कांसेप्ट है बस और ये व्हीकल कांसेप्ट की हेल्प से आप लोग काफी सारे काम कर सकते हो आप कार बना सकते हो ट्रक बना सकते हो और जो जो मर्जी बनाना है व्हीकल बना सकते हो बेसिकली किसी भी टाइप का वो व्हीकल हो सकता है अब जैसे हम देख पा रहे थे कि व्हीकल को तो हम ऐसे इंस्टेंशिएट नहीं कर पा रहे थे राइट लेकिन आप चाहो तो कार को कर सकते हो बिकॉज कार तो आपकी नॉर्मल क्लास है दिस इज नॉट एब्स्ट्रेक्ट क्लास राइट तो कार c1 इ टू न्यू कार और अब आप ये दोनों मेथड यूज कर पाओगे एक्सलरेट और ब्रेक्स वाले राइट अब आप यहां पर लिख सकते हो कि कार डॉट एक्सलरेट सॉरी c1 डॉट एक्सलरेट और सिमिलरली c1 ड ब्रक्स इसमें चार पास कर दिया हमने सपोज इसको अब हम रन करेंगे तो अब ये काम करेगा ठीक है तो दिस इज योर एब्स्ट्रेक्ट कीवर्ड आई थिंक समझ में आ रहा होगा अब यहां पर कार इज एक्सीलरेटिंग और कार ब्रेक्स आर पुट ये प्रिंट हो रहा है अ सिंपल आपने कुछ नहीं किया बस आपने बता दिया इस व्हीकल कि ये व्हीकल क्लास है एब्स्ट्रेक्ट क्लास है इसका आप ऑब्जेक्ट नहीं बना सकते बिकॉज इसका इट सेल्फ कुछ मीनिंग नहीं है ठीक है एब्स्ट्रेक्ट क्लास बस कांसेप्ट होता है और यह इसी काम में आता है ताकि आप बार-बार एक क्लास को यूज कर पाओ और आप एब्स्ट्रेक्शन को इफोर्स कर पाओ कि देखो अ हम चाहते हैं एक क्लास के पास ये सारी प्रॉपर्टी तो होनी चाहिए तो हम अगर कार बनाना चाहते हैं तो कार एक व्हीकल होना ही चाहिए ठीक है तो व्हीकल के अंदर जो भी चीजें हम चाहते हैं कि वो सब के सब चीजें कार अपने अंदर लेके आए तो इसीलिए हम उसको एब्स्ट्रेक्ट बना देंगे सो दैट उसके एब्स्ट्रेक्ट मेथड को कार को इंप्लीमेंट करना ही पड़े ठीक है एक बार रिपीट करता हूं दोबारा से कि हम नहीं चाहते थे कि कार के मतलब हम चाहते थे कार के अंदर व्हीकल की कुछ प्रॉपर्टीज आए ही आए मतलब कार को इन व्हीकल्स की ये मेथड्स को इंप्लीमेंट करना ही करना पड़े तो उसके लिए हम इस स्कल क्लास को बना देंगे एब्स्ट्रेक्ट और उन मेथड्स को बना देंगे एब्स्ट्रेक्ट मेथड्स तो उससे अब क्या होगा कि अब कार को उन मेथड्स को इंप्लीमेंट करना ही पड़ेगा अदर वाइज कार को भी अब इलाज नहीं कर सकते अदर वाइज कार एक कंपाइल टाइम एरर दे देगी ठीक है तो इस तरीके से आप लोग इंफोर्स कर पाते हो और अब यह वाला आप चाहो तो इस व्हीकल की हेल्प से आप लोग मल्टीपल और भी व्हीकल बना सकते हो तो दिस वाज होल कांसेप्ट बिहाइंड एब्स्ट्रेक्ट कीवर्ड इसकी हेल्प से आप लोग एब्स्ट्रेक्शन अचीव कर पा रहे हो अब एब्स्ट्रेक्शन क्या होता है जरा वो समझेंगे उससे पहले कुछ और चीजें यहां पे कुछ और पॉइंट हैं देख लेते हैं एन एब्स्ट्रेक्ट क्लास कैन हैव बोथ द रेगुलर मेथड्स एंड एब्स्ट्रेक्ट मेथड तो पहला पॉइंट तो हम यही समझ लेते हैं कि ये जो एब्स्ट्रेक्ट क्लास है ना इसके अंदर आप चाहो तो एब्स्ट्रेक्ट मेथड तो बना ही सकते हो इस तरीके से लेकिन आप चाहो तो नॉर्मल मेथड भी बना सकते हो व्हिच आर कॉल्ड कंक्रीट मेथड्स ठीक है जैसे कि आप बिना एब्स्ट्रेक्ट के भी मेथड बना सकते हो अवॉइड अ लेट्स से हंग्स ठीक है इस तरीके से तो मैंने हंग नाम का एक मेथड बना दिया तो क्योंकि ये एक नॉन एब्स्ट्रेक्ट मेथड है इसलिए मुझे इसकी इंप्लीमेंटेशन यहां पर डिफाइन करनी पड़ेगी और मैं यहां पर इंप्लीमेंटेशन बना देता हूं लेट्स से कि अ व्हीकल हंक्स तो क्योंकि यह एक नॉन एब्स्ट्रेक्ट मेथड है तो इसको आप यहां पर एक्सटेंड करो मतलब इसको आप चाहो तो इंप्लीमेंट करो ना करो फर्क नहीं पड़ता है मतलब आप चाहो तो यहां पे इसे इंप्लीमेंट कर सकते हो इन दैट केस आप इसको ओवरराइड कर रहे होंगे जैसा आपका नॉर्मल क्लास के अंदर होता है कि आप पेरेंट के लिए हुई चीजों को ओवर एड कर सकते हो राइट तो आप चाहो तो इस संग्स को ओवर एड कर सकते हो लेकिन आपके ऊपर थोपा नहीं जा रहा है इसको बिकॉज ये एब्स्ट्रेक्ट नहीं है ठीक है इसकी ऑलरेडी इंप्लीमेंटेशन डिफाइंड है तो आपको बैठ के इसकी इंप्लीमेंटेशन डिफाइन करने की जरूरत नहीं है तो इस तरीके से एक एब्स्ट्रेक्ट के अंदर दो टाइप के मेथड हो सकते हैं और अगर मैं यहां पर करूंगा c1 डॉट हस तो आपको पता है यह व्हीकल वाला हंग्स यहां पर चलने वाला है राइट लेकिन वही पर अगर इस कार क्लास ने इस हंस को ओवरराइड कर दिया सपोज करो मैं यहां पर लिख देता हूं वॉइड हंस तो अब यह कार की इंप्लीमेंटेशन को ले लेगा यहां पर तो कार इस होंग यह सिंपल था यह तो नॉर्मल इंटरफेस ो का होन ठीक है अगला है अ अ मेथड दैट डंट हैव इट्स बॉडी इज नोन एज एब्स्ट्रेक्ट मेथड तो जिसके पास कोई बॉडी नहीं होती है वच दैट मेथड इज कॉल्ड एब्स्ट्रेक्ट मेथड एब्स्ट्रेक्ट मेथड मतलब इसकी कोई बॉडी नहीं है इसको आपको खुद से इंप्लीमेंट करना पड़ेगा इसके जो चाइल्ड क्लासेस होंगी उनको इंप्लीमेंट करना पड़ेगा दो एब्स्ट्रेक्ट क्लासेस कैन नॉट बी इंस्टेंशिएट वी कैन क्रिएट सब क्लासेस फ्रॉम इट वी कैन देन एक्सेस मेंबर ऑफ दी एब्स्ट्रेक्ट क्लास यूजिंग दी ऑब्जेक्ट ऑफ द सब क्लास ये हमने देख लिया था कि दो एब्स्ट्रेक्ट क्लास का तो आप ऑब्जेक्ट नहीं बना सकते क्योंकि हम यहां पे बनाने का ट्राई कर रहे थे अलाउड नहीं नहीं था लेकिन आप इसके सब क्लासेस बना सकते हो जैसे हमने कार बनाई थी कार इज अ सब क्लास ऑफ व्हीकल क्लास और उसके उसके ऑब्जेक्ट के अंदर आप फिर यह सारे मेथड यूज कर सकते हो ऑल राइट इफ द एब्स्ट्रेक्ट क्लास इंक्लूड्स एनी एब्स्ट्रेक्ट मेथड देन ऑल द चाइल्ड क्लासेस इरिटेट फ्रॉम द एब्स्ट्रेक्ट सुपर क्लास मस्ट प्रोवाइड द इंप्लीमेंटेशन ऑफ द एब्स्ट्रेक्ट मेथड बेसिकली ये कहना चाहता है कि अगर किसी भी एब्स्ट्रेक्ट क्लास के अंदर आपने कोई भी एब्स्ट्रेक्ट मेथड बना लिया है तो उसके जितने भी सब क्लासेस हैं उसके जितने भी चाइल्ड क्लासेस हैं उनको उसकी इंप्लीमेंटेशन जरूर प्रोवाइड करनी चाहिए अगर वो नॉन एब्स्ट्रेक्ट क्लास है तो अगर एब्स्ट्रेक्ट क्लास है जैसे अगर आपकी सब क्लास एब्स्ट्रेक्ट क्लास है तो इंप्लीमेंटेशन प्रोवाइड करने की कोई जरूरत नहीं है लेकिन अगर आपकी नॉन एब्स्ट्रेक्ट क्लास सब क्लास है तो वहां पर आपको इंप्लीमेंटेशन प्रोवाइड करनी पड़ेगी बिकॉज कहीं ना कहीं तो इंप्लीमेंटेशन देनी पड़ेगी अगर आपको उसके ऑब्जेक्ट को यूज करना है तो एक और चीज कि एक एब्स्ट्रेक्ट क्लास के अंदर मतलब अगर आप किसी नॉर्मल क्लास के अंदर जैसे मैं यहां पर काम करता हूं एक और नॉर्मल क्लास बनाता हूं लेट से क्लास ह्यूमन यह बस समझाने के लिए है कि मेरे पास सपोज करो एक क्लास ह्यूमन है जिसके अंदर एक मेथड है वॉइड लेट्स से स्पीक यह तो मेरा नॉर्मल मेथड है राइट लेकिन इसके अलावा एक सपोज करो वॉइड ईट एक मेथड है जिसको मैं एब्स्ट्रेक्ट बनाना चाहता हूं ठीक है इसको मैंने एब्स्ट्रेक्ट बना दिया तो अगर आपके पास एक भी एब्स्ट्रेक्ट मेथड है ना तो आपको उसकी क्लास को भी एब्स्ट्रेक्ट बनाना पड़ेगा यह कांसेप्ट है बेसिकली कि अगर आप एक भी एब्स्ट्रेक्ट मेथड बताते हो जैसे कि एब्स्ट्रेक्ट मेथड इन नॉन एब्स्ट्रेक्ट क्लास यह वाला एक एरर आ गया कंपाइल टाइम प ही कि अगर आपकी क्लास के अंदर एक भी एब्स्ट्रेक्ट मेथड है तो उसके केस में आपको उस क्लास को भी एब्स्ट्रेक्ट बनाना पड़ेगा तो यहां पर अगर आप एब्स्ट्रेक्ट बना दोगे तो वो चला जाएगा और एब्स्ट्रेक्ट बनाने के बाद यहां से इसकी इंप्लीमेंटेशन हटानी पड़ेगी ठीक है अगर आप यहां पे एब्स्ट्रेक्ट नहीं लिखोगे तो ये आपका एरर देगा कि एब्स्ट्रेक्ट मेथड आप बना रहे हो नॉन एब्स्ट्रेक्ट क्लास के अंदर विच इज नॉट अलाउड तो एक ये भी कांसेप्ट होता है आपके पास ठीक है तो इस तरीके से हमने एब्स्ट्रेक्ट देख लिया है इसकी हेल्प से एब्स्ट्रेक्शन कैसे अचीव कर पाते हैं और एब्स्ट्रेक्शन होता क्या है जरा वो समझ लेते हैं एब्स्ट्रेक्शन इज एन इंपोर्टेंट कांसेप्ट ऑफ ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग दैट अलाउ अस टू हाइड अन नेसेसरी डिटेल्स एंड ओनली शो द नीडेड इंफॉर्मेशन तो बेसिकली आप अननेसेसरी इंफॉर्मेशन को हाइड कर दे रहे हो यूजर से फॉर एग्जांपल अगर कोई बंदा आता है आपके पास और वो बोलता है कि भाई मुझे तो एक व्हीकल बनाना है तो आप उसको बोलोगे कि ठीक है मेरे पास एक व्हीकल क्लास है आप लो इसको और इसको बस इंप्लीमेंट कर दो अब वो उसकी इंप्लीमेंटेशन ब देखने नहीं बैठेगा ठीक है उससे आप उसकी इंप्लीमेंटेशन हाइड कर दे रहे हो आप उसको दिखा रहे हो कि देखो बस आपको यह मेथड ये मेथड ये मेथड ये मेथड ये मेथड आपको इंप्लीमेंट करने है और आप ले जाओ इस क्लास को तो आपने उसकी इंप्लीमेंटेशन उसको हाइड कर दी कि अभी आप इंप्लीमेंटेशन ध्यान मत लगा ये तो आप खुद से इंप्लीमेंट कर सकते हो इस तरीके से भी इस चीज को हम जरा अच्छे से और समझ सकते हैं जैसे सपोज करो हमारे पास एक व्हीकल क्लास है एंड दिस क्लास इज डिक्लेयर्ड एज एब्स्ट्रेक्ट क्लास राइट हमने बोल दिया एब्स्ट्रेक्ट क्लास है तो इसके अंदर एब्स्ट्रेक्ट मेथड है कुछ तो हमें व्हीकल बनाते टाइम कुछ नहीं करना हमने बस व्हीकल के बता दी कि व्हीकल के अंदर ये सारी प्रॉपर्टी होंगी अब हम इससे कार बना सकते हैं हम इससे स्कूटर बना सकते हैं राइट तो अब आप चाहो तो जैसे आपने कार बनाई है वैसे ही जैसे आपने यहां पे कार बनाई है राइट कार एक्सटेंड्स व्हीकल सिमिलर टू दैट आप चाहो तो य एक और क्लास बना सकते हो क्लास कूटर और इसको भी आप व्हीकल से एक्सटेंड करा दो इस तरीके से और अब यहां पर भी आपको वो अन इंप्लीमेंटेड मेथड्स को इंप्लीमेंट करना पड़ेगा तो आप बस यहां पर क्लिक कर दो इस तरीके से इंप्लीमेंट मेथड्स आप चाहो तो इंसर्ट ट ओवरराइड लगाओ या ना लगाओ इस वाले ऑप्शन को टिक करके ठीक है इसको मैं नहीं लगाता इस बार तो मेरे पास ये दो मेथड बनाने पड़ेंगे मुझे अगर नहीं बनाऊंगा इन दोनों मेथड्स में से एकही मेथड को मैं हटाऊ तो मेरे पास अगेन वो कंपाइल टाइम एरर आ जाएगा हमारा कोड रन ही नहीं होगा तो हमें इस तरीके से एब्स्ट्रेक्शन अचीव करने में हेल्प मिलती है कि आपने बस व्हीकल क्लास के अंदर बता दिया कि क्या मेरा आईडिया है क्या मेरा कांसेप्ट है और उसके बाद आप अपने यहां पे अ इंप्लीमेंटेशन सबको दे चुके हो कि आप इंप्लीमेंट करो आप इंप्लीमेंट करो इस तरीके से तो पहले हमारे पास एब्स्ट्रेक्शन अचीव करने के लिए सिंपल ये एब्स्ट्रेक्ट कीवर्ड था लेकिन इसके बाद इंटरफेस इंट्रोड्यूस हो गए थे एंड इंटरफेस इज अ फुली एब्स्ट्रेक्ट क्लास इट इंक्लूड्स अ ग्रुप ऑफ एब्स्ट्रेक्ट मेथड अ वी कैन यूज द इंटरफेस कीवर्ड टू क्रिएट ए इंटरफेस इन क्लास तो पहले आपका एब्स्ट्रेक्ट क्लास की हेल्प से आप लोग एब्स्ट्रेक्शन अचीव कर पाते हो राइट लेकिन इसके अंदर प्रॉब्लम क्या है कि इसके अंदर आप तब भी नॉन एब्स्ट्रेक्ट मेथड भी डिफाइन कर सकते हो राइट इंटरफेस के अंदर अब आ गए हैं नॉन आप अब इंटरफेस के अंदर ना पहले क्या होता था जावा 8 से पहले जावा 1.7 तक कि इंटरफेस के अंदर सारे के सारे एब्स्ट्रेक्ट मेथड होते थे इंटरफेस ने इफोर्स कर दिया था कि हम सिर्फ एब्स्ट्रेक्ट मेथड अलाउ करेंगे नॉन एब्स्ट्रेक्ट मेथड अलाउ नहीं करेंगे लेकिन अब इंटरफेस ने भी डिफॉल्ट मेथड बनाने लग गए इंटरफेस से तो वहां पर भी हमारी टू एब्स्ट्रेक्शन अचीव नहीं हो पाती है बट स्टिल इंटरफेस आर ल अनदर वे ऑफ अचीविया मतलब एक क्लास मल्टीपल क्लासेस को इन्हेरिटेंस क्लास अगर ए है जैसे कि सपोज करो अगर क्लास a है ये एक साथ b और c को नहीं कर सकती है राइट कि a एक्सटेंड b एंड c नहीं दिस इज नॉट अलाउड बट अगर ये इंटरफेस है b अगर एक इंटरफेस है और c अगर एक इंटरफेस है तो ए क्लास मल्टीपल इंटरफेस को इंप्लीमेंट कर सकती है स्टिल तो ये इंटरफेस क्या होते हैं और कैसे काम करते हैं और ये एब्स्ट्रेक्शन कैसे अचीव कर पाते हैं और कैसे मल्टीपल इंटरफेस आप इंप्लीमेंट कर पाते हो अब जरा इसकी बात करते हैं तो यहां पर लिखा हुआ है लाइक एब्स्ट्रेक्ट क्लासेस वी कैन नॉट क्रिएट ऑब्जेक्ट ऑफ इंटरफेस तो ऑब्जेक्ट के भी आप लोग इंटरफेस नहीं क्रिएट कर सकते जैसे आप एब्स्ट्रेक्ट क्लास के भी इंटरफेस ऑब्जेक्ट नहीं क्रिएट कर सकते राइट तो सिमिलर टू दैट इंटरफेस के भी ऑब्जेक्ट नहीं क्रिएट कर सकते तो फायदा क्या है फायदा ये है कि इंटरफेस को आप लोग इंप्लीमेंट करा सकते हो दूसरी क्लासेस के अंदर दूसरी क्लासेस को फिर आप उनके ऑब्जेक्ट बना सकते हो ठीक है सिमिल टू एब्स्ट्रेक्ट क्लास ही कांसेप्ट है इसका भी बस फर्क वहां आ जाता है कि आप लोग मल्टीपल एब्स्ट्रेक्ट क्लासेस को इंप्लीमेंट एक्सटेंड नहीं कर सकते वहीं पे मल्टीपल इंटरफेस को आप लोग इंप्लीमेंट कर सकते हो मैं जरा बताता हूं कैसे तो इसके लिए हम आएंगे यहां पर और एक नई क्लास बना देते हैं इसके अंदर न्यू क्लास लर्न इंटरफेस सपोज करो ये हमारी क्लास है तो इसके अंदर हम एक इंटरफेस बनाते हैं इंटरफेस इंटरफेस कीवर्ड के हेल्प से आपका इंटरफेस बनता है और इसका नाम लेट्स से कर हम एनिमल तो हमारा एक एनिमल नाम का इंटरफेस यहां पर बन रहा है अब इंटरफेस के अंदर आप एब्स्ट्रेक्ट मेथड डिफाइन कर सकते हो तो आप चाहो तो यहां पर ऐसे लिख सकते हो पब्लिक एब्स्ट्रेक्ट और लेट्स से ईड्स वॉइड ईड्स ठीक है तो यह मेरा मेथड है और यह बाय डिफॉल्ट एब्स्ट्रेक्ट होता है तो यह बाय डिफॉल्ट ही एब्स्ट्रेक्ट होता है इंटरफेस के अंदर मेथड्स आर बाय डिफॉल्ट एब्स्ट्रेक्ट तो आप चाहो तो इसमें से एब्स्ट्रेक्ट कीवर्ड रिमूव कर सकते हो यहां पर आप देख भी रहे हो कि मोडिफाय एब्स्ट्रेक्ट इज रिडंडेंट फॉर इंटरफेस मेथड्स तो इंटरफेस मेथड के अंदर अगर आप ऐसे अगर वो डिफॉल्ट मेथड नहीं है तो इसका मतलब वो एब्स्ट्रेक्ट मेथड ही है तो आप इसमें से एब्स्ट्रेक्ट कीवर्ड रिमूव कर सकते हो बिकॉज दैट इज अंडरस्टूड और आप चाहो तो यह पब्लिक भी रिमूव कर सकते हो बिकॉज पब्लिक रिडंडेंट है इंटरफेस मेंबर्स के अंदर क्योंकि सारे के सारे मेथड आप पब्लिक और एब्स्ट्रेक्ट बनाते हो एब्स्ट्रेक्ट इसलिए बिकॉज एब्स्ट्रेक्ट के लिए ही इंटरफेस बनाए गए थे इंटरफेस का आप ऑब्जेक्ट तो बना नहीं सकते और दूसरा पब्लिक इसीलिए डिफॉल्ट में होता है बिकॉज अगर आपने प्राइवेट कर लिया तो फिर सब क्लासेस को भी अवेलेबल नहीं होगा वो मेथड ठीक है तो फायदा क्या है उसको बनाने का इसीलिए प और एब्स्ट्रेक्ट इसके अंदर मेथड्स बाय डिफॉल्ट ही होते हैं अब हमारा ये इंटरफेस बन चुका है एनिमल राइट अब ये क्लास तो है नहीं तो इसका आप ऐसे ऑब्जेक्ट नहीं बना सकते एनिमल लेट्स से a1 इक्व टू न्यू एनिमल ये अलाउड नहीं है और यहां पर कुछ और चीज हो गई है व्हिच इज कॉल्ड एनोनिमस क्लास ये हम बाद में समझेंगे एनोनिमस क्लास यहां पर हो चुके है लेकिन अगर आप ऐसे करने का ट्राई करोगे तो ये चीज अलाउड नहीं होगी ठीक है ये बोल रहा है कि आप न्यू एनिमल नहीं बना सकते बिकॉज एनिमल इज एन इंटरफेस एनिमल इज एब्स्ट्रेक्ट कैन नॉट बी इंस्टेंशिएट ये कह रहा है यहां तक ये कह रहा है कि एनिमल एब्स्ट्रेक्ट है जबकि आपको दिख रहा है इंटरफेस है बिकॉज एनिमल इंटरफेस बनाए इसलिए ग थे ताकि आपको यह सब ना करना पड़े ठीक है ऑलराइट तो यह हम ऑब्जेक्ट तो सीधा बना नहीं सकते तो ऑब्जेक्ट नहीं बना सकते तो हम क्या कर सकते हैं भैया हम एक और क्लास बना सकते हैं च कैन देन इंप्लीमेंट दिस एनिमल इंटरफेस ठीक है तो यहां पर हम बना सकते लेट्स से क्लास मंकी एक्सटेंड्स एनिमल इस तरीके से तो एक्सटेंड नहीं होगा सॉरी यहां पर इंप्लीमेंट होगा बिकॉज एक्सटेंड आपका लगता है क्लास के केस में वही पर इंप्लीमेंट आपका लगता है इंटरफेस के केस में और अब आप इसको चाहो तो यहां पर इंप्लीमेंट कर सकते हो अन इंप्लीमेंटेड मेथड को तो आप यहां पर इंप्लीमेंट करोगे वरना एरर आता रहेगा पूरे टाइम और अब यहां पर आप पब्लिक वॉइड ट्स इस मेथड को इंप्लीमेंट कर सकते हो तो देख रहे हो बिल्कुल सिमिलर है क्लास एब्स्ट्रेक्ट क्लास के जैसे मतलब अगर आप इंटरफेस की जगह एब्स्ट्रेक्ट क्लास लिख दोगे तो बस कुछ चेंज नहीं करना य पर इंप्लीमेंट की जगह एक्सटेंड लिख देना है एंड देन ट्स इट और यहां पर भी आपको उसकी इंप्लीमेंटेशन डिफाइन करनी पड़ेगी तो लेट्स से यहां पर लिख देता हूं मैं ईट तो मंकी इज ईटिंग इस तरीके से और अब आप इसको चाहो तो यूज कर सकते हो तो आप यहां पर आओगे पब्लिक स्टैटिक वॉइड मेन और यहां पर आप चाहोगे मंकी मंकी इक्वल टू न्यू मंकी एंड देन मंकी डॉट ईट्स इस तरीके से लेट्स रन दिस और अभी भी ये काम करेगा और यहां पर मंकीज टंग लिखा आ रहा है लेकिन भैया फायदा क्या हुआ फिर एब्स्ट्रेक्ट ही रख लेते तो इंटरफेस बनाने का फायदा क्या हुआ तो मैं बोलूंगा इंटरफेस से एक और फायदा होता है कि अब आप चाहो तो इस मंकी को दो काम करा सकते हो मतलब ये जो मंकी क्लास है यह सिर्फ एनिमल को इंप्लीमेंट नहीं करेगी ये चाहे तो कुछ और भी इंप्लीमेंट कर सकती है कुछ और इंटरफेस भी इंप्लीमेंट कर सकती है राइट आप क्योंकि मल्टीपल इंटरफेस को इंप्लीमेंट कर सकते हो एक साथ तो फॉर एग्जांपल आप चाहो तो इंटरफेस बना लिया आपने एक ह्यूमन इस तरीके से और इसके अंदर आपने एक मेथड डिफाइन कर दिया लेट्स से वॉइड वॉक तो हमने एक वॉक वॉइड यह वाला एक फंक्शन बना दिया है और इस इंटरफेस में क्या इशू है अच्छा यह मैंने ह्यूमन नाम का इंटरफेस यहां भी बना रखा है एक क्लास बना रखी है आई थिंक ह्यूमन नाम की दिस वन तो इस वजह से एक एक पैकेज के अंदर आप लोग एक टाइप की चीज एक ही बार डिफाइन कर सकते हो बेसिकली इसी वजह से एरर आ रहा है कि अगर आपने ह्यूमन यहां पर डिफाइन कर दिया एक पैकेज के अंदर तो उसी पैकेज के अंदर आप दोबारा से ह्यूमन नहीं बना सकते इसी वजह से यहां पर एक एरर आ रहा है डुप्लीकेट क्लास फाउंड एड जावा अंदर ऑलरेडी ह्यूमन नाम से कुछ है तो यह भी हमने समझ लिया वैसे तो लेकिन आप चाहो तो ह्यूमन नहीं कुछ और बनाते हैं इसको तो ह्यूमन की जगह मैं बना देता हूं लेट से पेट कि मेरे पास एक इंटरफेस और है व्हिच इज कॉल्ड पेट और लेट्स से पेट के अंदर आप कर सकते हो पट सिंस करता है ठीक है तो पेट के पास अ इस चीज की पावर है तो बेसिकली इंटरफेस बने बने भी इस तरीके से होते हैं कि इंटरफेस बताते हैं ये इंटरफेस के पास क्या-क्या पावर है ये इंटरफेस क्या-क्या कर सकता है तो ये इंटरफेस ये सब चीजें कर सकता है कि ये इंटरफेस सिंग वाली पावर देता है तो सिंगे बल या फिर कैन सिंग इस तरीके से राइट तो ये इंटरफेस बता रहा है कि दिस थिंग जिसको जो भी इंप्लीमेंट करेगी इस चीज को वो सिंक कर पाएगी ठीक है उसके पास सिंक की पावर आ जाएगी क्योंकि उसको इंप्लीमेंट करना ही पड़ेगा वो सिंक ठीक है अ तो सपोज करो अब ये जो मंकी है ये हमारा एनिमल तो है ही ठीक है तो ये ईट्स वाली प्रॉपर्टी इसके अंदर आती है लेकिन अब ये पेट भी डालना चाहता है अपने अंदर पेट की प्रॉपर्टी भी आती है तो सपोज करो हम यहां पे ऐसे कर सकते हैं इंप्लीमेंट एनिमल फिर कॉमा देके पैट तो आप जितने मर्जी यहां पे इंटरफेस इंप्लीमेंट कर सकते हैं इस तरीके से बस अब करना क्या होगा हमें पट का भी अन इंप्लीमेंटेड मेथड को इंप्लीमेंट करना पड़ेगा तो इंप्लीमेंट मेथड्स यह सिंग्स वाला मेथड हमें यहां पे इंप्लीमेंट करना पड़ेगा तो ईट वाला तो ऑलरेडी हो रखा है सिंग वाला भी हमने कर दिया इस तरीके से बिकॉज अब इस मंकी के पास यह दोनों पावर है तो यहां पे हम सिंग करा देंगे इसको एस आउट मंकी सिंगिंग इस तरीके से राइट तो यह फायदा होता है कि आपने एक इंटरफेस आपने मल्टीपल इंटरफेस को एक ही क्लासेस को इंप्लीमेंट करा दिया वहीं पर अगर ये दोनों के दोनों एब्स्ट्रेक्ट क्लास होते तो इस तरीके से काम नहीं हो पाता तो ये फायदा होता है हमारा नॉर्मल बड़े-बड़े जब हम प्रोग्राम्स बना रहे होते हैं तो वहां पर आप चाहते हो कि एक क्लास जो है उसके पास अब नई पावर्स आ चुकी है तो वो नई पावर्स जो है वो आप हर जगह अलग-अलग क्लासेस को देना चाहते हो तो आप हर क्लासेस के अंदर जा जा के वो मेथड नहीं बनाओगे आप एक इंटरफेस बना दोगे और वो इंटरफेस उन क्लासेस के अंदर जाके इंप्लीमेंट करा दोगी देन उन क्लासेस के अंदर अपने आप वो पावर इन फोर्स हो जाएगी ये भी फायदा होता है इंटरफेस का ठीक है अच्छा यहां पर एक डाउट आ सकता है आपको कि भैया आपने बताया था कि इंटरफेस के अंदर मल्टीपल इंटरफेस अलाउड नहीं होते हैं राइट वैसे हम पढ़ेंगे आगे एडवांटेजेस ऑफ जावा इंटरफेस कि इंटरफेस का फायदा क्या है तो इंटरफेस का फायदा सबसे पहले तो यह कि सिमिलर टू एब्स्ट्रेक्ट क्लास इंटरफेस हेल्प अस टू अचीव एब्स्ट्रेक्शन इन जावा एब्स्ट्रेक्शन तो आप अचीव कर पा रहे हो इसके अंदर अ लेकिन इंटरफेस आल्सो यूज टू अचीव मल्टीपल इन्हेरिटेंस इन जावा तो मल्टीपल इन्हेरिटेंस जावा में सपोर्टेड नहीं है मतलब आपके पास अगर दो मेथड्स है लेट्स से ए और बी दो क्लासेस है तो इन दो क्लासेस को आप एक्सटेंड नहीं कर सकते राइट यू कैन नॉट हैव अ क्लास सी व्हिच कैन एक्सटेंड बोथ ए एंड बी और इसका रीजन क्या बताया था मैंने इसका रीजन ये था कि सपोज करो ए क्लास के अंदर भी कोई मेथड है फन और बी क्लास के अंदर भी अगर कोई मेथड है फन तो जब आपने सी का ऑब्जेक्ट बनाया सी ऑब्जेक्ट इ ट न सी तो यह जो है ऑब्जेक्ट वो जब फन कॉल करेगा तो कौन सा वाला फन कॉल होगा राइट ये एक इशू था सेम इशू आपके इंटरफेस के साथ नहीं होगा क्यों क्योंकि सी के सी को अगर ए और ए और बी सपोज करो आप इंटरफेस है ठीक है पहले तो क्लासेस थे आप सपोज करो ए और बी जो है वो इंटरफेस है और दोनों के अंदर फन और फन दो मेथड्स है तो जब अ अगर सी इंप्लीमेंट करेगा ना फन मेथड को तो सी अपनी खुद की इंप्लीमेंटेशन बता देगा उस केस में कि क्या इंप्लीमेंटेशन होनी चाहिए तो जब सी ऑब्जेक्ट सी का ऑब्जेक्ट बनेगा कभी फ्यूचर में तो वो जिस भी फंड को कॉल करेगा वो अपने आप एक ही इंप्लीमेंटेशन बताएगा वो दो इंप्लीमेंटेशन बताएगा ही नहीं तो सी ऑब्जेक्ट के अंदर सिर्फ आप एक ही फंड डिफाइन करोगे और इसकी इंप्लीमेंटेशन खुद सी ही डिफाइन कर देगा और जब आप कॉल करोगे फन मेथड को तो ये वाला फन अपने आप ये वाली इंप्लीमेंटेशन चली जाएगी तो क्योंकि आप इंप्लीमेंटेशन खुद ही डिफाइन कर रहे हो तो इसी वजह से आपको हां पर वो एमगी वाला एरर नहीं आएगा और वो डायमंड प्रॉब्लम आपकी रीच नहीं होगी आई थिंक समझ में आ रहा होगा मैं इसको समझाता हूं दोबारा से कि जैसे मेरे पास एक पेट क्लास है और मेरे पास एक एनिमल क्लास है राइट अब मैं यहां पे एक मेथड बनाता हूं वाइड लेट्स से ड्रिंक्स ठीक है तो एक ड्रिंक मेथड मैंने यहां पर बनाया और सपोज करो सेम ड्रिंक मेथड मैं यहां पर बनाया था वॉइड ड्रिंक्स राइट अब यहां पर तो एरर आ रहा है कि आपने ड्रिंक मेथड को इंप्लीमेंट नहीं किया तो मैं यहां पर ड्रिंक मेथड को इंप्लीमेंट कर दूंगा पब्लिक वॉइड ड्रिंक्स इस तरीके से और वो एरर चला जाएगा और यहां पर मैं अचीव कर पाऊंगा ठीक है अब मैं यहां पर ड्रिंक्स अगर इंप्लीमेंट करता हूं सपोज करो इस तरीके से कि मंकी इ ड्रिंकिंग तो इट इज फाइन बिकॉज आपने तो एक ही इंप्लीमेंटेशन डिफाइन करी है ना भले ये ड्रिंक्स मेथड दो जगह जा रहा है लेकिन इंप्लीमेंटेशन तो एक ही जगह से आ रही है तो की डॉट ड्रिंक्स आप करोगे और यहां पर कोई भी एमगी नहीं आएगी इसी वजह से ये कोड स्टिल काम करेगा आप यहां पर क्लिक करोगे कमांड क्लिक तो उसके बाद ये इस वाले ड्रिंक्स पर ले गया आपको ना कि इसको कंफ्यूजन नहीं हुई कि मुझे कौन से वाले ड्रंक पर लेके जाना है पैट वाले ड्रिंक प लेके जाऊं कि एनिमल वाले ड्रंग प लेके जाऊ बिकॉज फर्क ही नहीं पड़ता इसको इसलिए तो बोल रखा है कि मेरी क्लास को इंप्लीमेंट करने ही पड़ेगा मेथड एनीहाउ तो इसी वजह से ये मल्टीपल इंटरफेस को आप इंप्लीमेंट कर पाते हो लेकिन मल्टीपल ऑफ क्लासेस को आप लोग एक्सटेंड नहीं कर पाते हो आई थिंक समझ में आ रहा होगा इसके बाद है नोट ऑल द मेथड इनसाइड एंड इंटरफेस आर इंपलीसिटली पब्लिक एंड ऑल फील्ड्स आर इंपलीसिटली पब्लिक स्टैटिक फाइनल अच्छा एक चीज और या आप इसके अंदर फील्ड्स भी डिफाइन कर सकते हो फॉर एग्जांपल एक इंटरफेस है एनिमल तो इसके अंदर आप सिर्फ स्टैटिक और फाइनल फील्ड डिफाइन कर सकते हो फॉर एग्जांपल आपने बता दिया कि क्लास एक एनिमल है तो इसके अंदर सिर्फ आप वही चीज डिफाइन कर सकते हो वही फील्ड डिफाइन कर सकते हो विच आर पब्लिक स्टैटिक एंड फाइनल पब्लिक स्टेटिक फाइनल का मतलब एक ऐसा फील्ड जो कि क्लास मतलब एनिमल के नाम से ही आपका आप एक्सेस कर सकते हो बिना ऑब्जेक्ट क्रिएट किए और साथ में फाइनल है इसका मतलब वो फाइनल हो चुका है उसकी वैल्यू का आप चेंज नहीं कर सकते फ्यूचर में कभी भी तो आपने जैसे बना लिया य पे पब्लिक स्टैटिक फाइनल और यहां पर आप कुछ भी बना सकते हो लेट से इंट लेग्स इक्ट 4 तो इसका मतलब ये अब इसके अंदर जो लेग्स है उसकी वैल्यू फोर ही रहेगी और इसको अगर आपको कहीं पर यूज करना है फॉर एग्जांपल यहां पर मुझे यूज करना है एनिमल के लक्स कितने थे तो एनिमल डॉट लेग्स इस तरीके से आप एक्सेस कर सकते हो और यहां पर फोर प्रिंट होगा अब मैंने कहा ये बाय डिफॉल्ट पब्लिक स्टैटिक फाइनल होता है तो आप चाहो तो यहां से रिमूव कर सकते हो इस तरीके से इस वैल्यू को और स्टिल यह पब्लिक स्टैटिक फाइनल ही माना जाएगा और स्टिल आप इसको इस तरीके से एक्सेस कर सकते हो बिना पब्लिक स्टैटिक फाइनल लगाए आप इसको पब्लिक स्टैटिक फाइनल की तरह ट्रीट कर पा रहे हो एनिमल डॉट लेगस से आप एक्सेस कर पा रहे हो अब अगर आप इसकी वैल्यू को कभी फ्यूचर में चेंज करने का ट्राई करोगे तो दैट विल नॉट बी अलाउड बिकॉज वो फाइनल भी है तो पब्लिक एनिमल डट लेक्स को कभी आप करना चाहो फाइव तो ये अलाउड नहीं होगा यहां पर देखो कैन नॉट असाइन अ वैल्यू टू फाइनल वेरिएबल लेग्स तो आप बोलोगे भैया मैंने तो फाइनल डिफाइन नहीं किया इसको तो ये फाइनल कैसे हो गया मैं बोलूंगा बाई डिफॉल्ट इंटरफेस के अंदर जो भी चीज होती है वो पब्लिक स्टैटिक फाइनल ही होती है क्योंकि इंटरफेस का आप ऑब्जेक्ट नहीं बना सकते इसलिए इसको स्टैटिक बनाना पड़ा और इसके बाद इंटरफेस के अंदर आप चेंज नहीं कर सकते बिकॉज एक इंटरफेस को मल्टीपल क्लासेस इंप्लीमेंट कर रही है तो उसके अंदर जो भी फील्ड है वो भी सब की सब क्लासेस शेयर कर रही है तो एक क्लास दूसरी क्लास की चीजों को चेंज ना करते इसलिए उनको फाइनल भी बना बनाना पड़ता है इसी वजह से पब्लिक स्टैटिक फाइनल बाय डिफॉल्ट ये होते हैं ओके तो ये एक चीज और आप यहां पर देख पा रहे हैं कि फायदा तो यही है बेसिकली कि आपने एक इंटरफेस बनाया लाइन नाम से आपने एक इंटरफेस बनाया पॉलीगोनम से उसके बाद आपने क्लास बना दी रेक्टेंगल जो कि लाइन की प्रॉपर्टी भी लेके आ रही है अपने अंदर और पॉलीगोनल के आ रही है अपने अंदर ठीक है तो ये फायदा होता है हमारे इंटरफेस का इसके अलावा एक चीज और भी होती है कांसेप्ट और भी होता है जो आई थिंक मैंने यहां पर लिखा नहीं है हां व्हिच इज कॉल्ड कि आप इंटरफेस के अंदर डिफॉल्ट फंक्शन भी बना सकते हो डिफॉल्ट फंक्शन इसलिए इंट्रोड्यूस किए गए थे वैसे तो जावा के अंदर पहले नहीं थे कि इंटरफेस आपने बना दिए और एक इंटरफेस को हो सकता है मल्टीपल क्लासेस ने इंप्लीमेंट कर रखा हो चार क्लासेस है चारों क्लासेस ने एक इंटरफेस को इंप्लीमेंट किया हुआ है अब फ्यूचर में आपका मन करता है कि इस इंटरफेस के अंदर ना कुछ और भी प्रॉपर्टी डालनी चाहिए फॉर एग्जांपल सपोज करो आपका यह जो एनिमल वाला इंटरफेस है इसको मल्टीपल टाइप के एनिमल्स ने इंप्लीमेंट कर रखा है मंकी ने कर रखा है डॉग ने कर रखा है कैट ने कर रखा है राइट और अभी उनके पास ईट और ड्रिंक वाली कैपेबिलिटी है लेकिन सपोज करो फ्यूचर में आपका मन करता है यार इसको वॉइड वाली अ वॉक वाली तो कैपेबिलिटी भी मुझे देनी है तो अगर आपने ऐसे वॉक वाली कैपेबिलिटी एक इंटरफेस में एक जगह डाल दी ना तो जितनी भी क्लासेस ने उसे इंप्लीमेंट किया था उन सभी जगहों पे एरर आएगा तो मैंने तो अभी आपको बहुत छोटा एग्जांपल दिया कि एक क्लास ने चार को इंप्लीमेंट कर रहा है लेकिन ऐसा होता नहीं है जब मैं amazon2 पर एक-एक इंटरफेस को हजार हजार क्लासेस ने इंप्लीमेंट किया होता था तो वहां पर अगर कभी आपने किसी इंटरफेस के अंदर चेंज कर दिया तो वो चेंज फिर आपको हजार क्लासेस में जाकर चेंज करना पड़ेगा हजार क्लासेस में जाके वो फंक्शन इंप्लीमेंट करना पड़ेगा अदर वाइज वो क्लासेस आपको हमेशा हमेशा के लिए एरर देती रहेंगी तो इस चीज को अवॉइड करने के लिए जावा ने बोल दिया कि आप एक डिफॉल्ट इंप्लीमेंटेशन भी दे सकते हो इंटरफेस को कि किसी किसी मेथड के लिए आप डिफॉल्ट भी उसे इंप्लीमेंट कर सकते हो उसके बाद जिस क्लास को इंप्लीमेंट करना पड़ेगा जिस क्लास को ओवरराइड करना है फ्यूचर में वो क्लास ओवरराइड कर सकती है इससे ट्रू एब्स्ट्रेक्शन तो अचीव नहीं हो पाता है लेकिन स्टिल वो जो एक प्रॉब्लम थी कि आपको हर क्लास में जाकर चेंज करना पड़ेगा वो प्रॉब्लम आपकी अवॉइड हो सकती है तो आपका धीरे धीरे आपका काम भी चलता रहेगा बिकॉज डिफॉल्ट इंप्लीमेंटेशन तो डिफाइन कर रखी है आपने और आप धीरे-धीरे करके अपनी एक एक क्लास में जा जाके उसकी इंप्लीमेंटेशन को चाहो तो ओवरराइड भी कर सकते हो मैं समझाता हूं कैसे तो आप चाहो तो यहां पर अभी जैसे ये कह रहा है मुझे कि वॉक इंप्लीमेंट करो मंकी को वॉक इंप्लीमेंट कराना चाहिए तो मैं बोलूंगा नहीं भाई यह ना एक डिफॉल्ट मेथड है और डिफॉल्ट मेथड है तो इसकी आप बॉडी भी बनाओगे इस तरीके से और अब देखो मंकी में वो एरर चला गया है तो इंटरफेस के अंदर आप डिफॉल्ट मेथड बना सकते हो जैसे आपने देखा था एब्स्ट्रेक्शन के अंदर कि एब्स्ट्रेक्शन के अंदर आप चाहो तो कंक्रीट मेथड भी बना सकते हो कहां गया यह रहा है ना हंग्स नाम का हमने कंक्रीट मेथड बनाया था जबकि यह तो आपके न ये तो आपके एब्स्ट्रेक्ट मेथड थे लेकिन आपने एक नॉन एब्स्ट्रेक्ट मेथड भी बना लिया था सिमिलर टू दैट इंटरफेस के अंदर भी आप डिफॉल्ट कीवर्ड यूज करके इस तरीके से इंप्लीमेंटेशन डिफाइन कर सकते हो और अब सारी की सारी क्लासेस को वो इंप्लीमेंटेशन ओवरराइड करने की जरूरत नहीं है मतलब चाहो तो आप कर सकते हो लेकिन एनिमल इज वकिंग तो तब तक तो एनिमल इज वकिंग प्रिंट होता रहेगा जब तक वो सारी सारी क्लासेस इंप्लीमेंट ना कर लेकिन अगर फ्यूचर में कोई क्लास अपना इंप्लीमेंट कर लेती है तो मंकी इज वकिंग कैट इज वकिंग डॉग इज वकिंग इस तरीके से चाहे तो ओवरराइड कर सकते है उनको ठीक है जब तक नहीं करेगी तब तक एनिमल इज वकिंग तो चलता रहेगा ही ठीक है तो ये डिफॉल्ट इंप्लीमेंटेशन तो मिलती रहेगी तो यह फायदा होता है डिफॉल्ट का तो इसी के साथ हम आगे बढ़ते हैं इंटरफेस के अंदर हम अगला देखेंगे इनर क्लास एंड नेस्टेड क्लास इन जावा तो इनर क् क्या होती है तो एक क्लास के अंदर आप चाहो तो इनर क्लास और डिफाइन कर सकते हो कि आपने एक क्लास बना ली उसके अंदर आपने एक और क्लास बना ली और वो होती है आपकी इनर क्लास इनर क्लास आपके दो टाइप के होते है एक होती है आपकी स्टैटिक क्लास एक होती है नॉन स्टैटिक क्लास जो नॉन स्टैटिक क्लास होती है च दैट क्लास इज कॉल्ड इनर क्लास कॉमनली नोन एस इनर क्लास लेकिन जो स्टैटिक क्लास होती है उसको हम कहते हैं नेस्टेड क्लास ठीक है तो थोड़ा सा बस बोलने का फर्क है चाहो तो याद करो चाहे तो याद मत करो कि जो इनर क्लास होती है वो आपकी नॉन स्टेटिक क्लास होती है वहीं पर जो नेड क्लास होती है वो आपकी स्ट स्टैटिक क्लास होती है स्टैटिक नेस्टेड क्लास तो जरा मैं समझाता हूं कैसे तो उसके लिए हम एक नया पैकेज बना लेते हैं लर्न इनर क्लास तो सपोज करो य मेरी एक पब्लिक क्लास है राइट मैं चाहू तो इस क्लास के अंदर भी एक और क्लास डिफाइन कर सकता हूं ठीक है तो मैंने बना दिया क्लास इस तरीके से लर्न सॉरी लर्न इनर क्लास के अंदर मैंने क्लास बना दी लेट्स कॉल इट क्लास टॉय राइट और इसके बाद मैंने बना दिया इसके अंदर लेट्स से इंटर प्राइस इस तरीके से तो ये मैंने क्लास टॉय बनाई है और यह क्लास मेरी लर्न इनर क्लास के अंदर है तो यह इनर क्लास है तो अंदर के अंदर जो भी चीजें होंगी जैसे कि मान लो मैं बनाता हूं मेथड यहां पर पीएसपीएम तो इसको यह वाली क्लास एक्सेसिबल है राइट बिकॉज अब यह इस क्लास की प्रॉपर्टी बन चुकी है तो इसके अंदर अगर आप पब्लिक लिखोगे तो पब्लिकली अवेलेबल होगी प्राइवेट लिखोगे तो सिर्फ इसी क्लास के अंदर अवेलेबल होगी ठीक है वही जो चीज आपने पहले देखी थी इसको अगर आप प्रोटेक्टेड करोगे तो ये सिर्फ लर्न इनर क्लास के चाइल्ड क्लासेस के अंदर अवेलेबल होगी और गेन होग तो अब इस टॉय क्लास का ऑब्जेक्ट बनाते हैं यहां पर तो ये हो जाएगा टॉय टॉय इक्वल टू न्यू टॉय तो अभी यह चीज हमारा लिखना अलाउड नहीं है राइट अभी आप लिखोगे टॉय डॉट प्राइस अगर आप सेट करने का ट्राई करोगे तो यह आप नहीं कर पाओगे और आप बोलोगे ये क्यों नहीं कर पा रहे तो ये इसलिए नहीं कर पा रहे बिकॉज जो टॉय है ये जो क्लास टॉय है दिस इज नॉन स्टैटिक और अगर आपको कोई भी नॉन स्टैटिक नॉन स्टैटिक यूज करनी है स्टैटिक मेथड के अंदर तो उसके लिए आपको उस क्लास का ऑब्जेक्ट बनाना पड़ता है राइट आप इस क्लास का ऑब्जेक्ट बना बनाए बिना इस क्लास को यूज नहीं कर सकते बिकॉज दिस क्लास इज नॉन स्टैटिक तो अगर आपको ये यूज करना है ये टॉय यूज करना है इसके अंदर एक स्टैटिक मेथड के अंदर तो उसके लिए आपको इस क्लास का ऑब्जेक्ट बनाना पड़ेगा तो पहले हम बनाएंगे इस क्लास का ऑब्जेक्ट ठीक है लर्न इनर क्लास का ऑब्जेक्ट तो ये ऐसे नहीं लिख सकता मैं इसको लिखूंगा मैं ऐसे पहले मैं बनाऊंगा ऊपर वाली क्लास का ऑब्जेक्ट तो लर्न इनर क्लास का ऑब्जेक्ट उसके बाद डॉट लगा के न्यू टॉय तो यह चीज अलाउड है ठीक है तो देख रहे हो आप ये थोड़ा सा अजीब सा एक सिंटेक्स है कि आपको पहले इस क्लास को लिखना पड़ा इस क्लास कोक्ट बनाया आपने उसके बाद डॉट लगा के आप इस तरीके से इस क्लास बना सकते हो बिकॉज दिस क्लास इज नेस्टेड इनसाइड दिस क्लास और य जो टॉय क्लास है इसका अगर आपको यूज करना है तो उसके लिए आपको इस क्लास ट बना पड़ेगा आप इस लाइन को चाहो तो थोड़ा और अच्छे से लिख सकते हो मतलब ऐसे ना लिखो क्योंकि यह थोड़ा कन्फ्यूजिंग है तो आप चाहो तो पहले बनाओ उसका ऑब्जेक्ट ऊपर वाली क्लास का तो लर्न इन क्लास ऑब्जेक्ट इक्व टू न्यू लर्न इनर क्लास एंड देन जब टॉय आपको बनाना है तो उसके लिए आप ऑब्जेक्ट डॉट न्यू टॉय करोगे एंड नाउ यू कैन यूज दिस ठीक है तो पहले आप न्यू के बाद डॉट लगा के लिख रहे थे अब आपने ऑब्जेक्ट के बाद डॉट लगा के लिखा है दोनों ही तरीकों से आप कर सकते हो दोनों ही तरीके वैलिड है तो ये बात तो हो गई हमारी इनर क्लास की लेकिन इसके अलावा हमारे पास एक और कांसेप्ट होता है व्हिच इज कॉल्ड अ स्टैटिक इनर क्लास तो अगर आप इस क्लास को स्टैटिक कर दोगे तो स्टैटिक का मतलब समझ में आ रहा है कि अगर हमें स्टैटिक कोई अंदर की चीज है उसको यूज करना है किसी स्टैटिक चीज के अंदर तो उसके लिए इस क्लास का ऑब्जेक्ट बनाने की कोई जरूरत नहीं है तो वही यहां पर कांसेप्ट है अनलाइक इनर क्लास अ स्टैटिक नेस्टेड क्लास कैन नॉट एक्सेस द मेंबर वेरिएबल ऑफ द आउटर क्लास इट इज बिकॉज द स्टैटिक नेस्ट क्लास नट रिक्वायर यू टू क्रिएट ए इंस्टेंस ऑफ द आउटर क्लास तो बेसिकली यही कह रहा है कि पहले तो इसको जरा आप नॉन स्टिक बनाओ एक काम करते एक नई क्लास बनाते हैं क्लास लेट्स से प्ले स्टेशन ठीक है इसको मैं बना दूंगा स्टैटिक तो क्योंकि अब ये स्टैटिक चीज है और स्टैटिक का यूज करने के लिए मुझे इस क्लास टने जरूरत नहीं है तो नाउ आई कैन मेक एन ऑब्जेक्ट ऑफ दिस प्ले स्टेशन क्लास लाइक दिस इसके अंदर प्राइस डिफाइन कर देता हूं लेट्स से तो इसको मैं ऐसे बना सकता हूं कि प्ले स्टेशन प्ले स्टेशन इक्वल टू न्यू और आपको पता है स्टेटिक चीजों को यूज करने के लिए क्या करते हैं स्टैटिक आर अ पार्ट ऑफ दिस क्लास राइट तो इसको यूज करेंगे हम इस क्लास को डॉट लगा के प्ले स्टेशन तो इस तरीके से आप स्टैटिक इनर क्लास यूज़ कर सकते हो स्टैटिक क्लास जब यूज़ करते हो आप तो उसके बाद आप बाकी चीजें यूज नहीं कर सकते बिकॉज़ ये तो स्टैटिक है इसको बनाने के लिए कोई ऑब्जेक्ट बना नहीं था तो वही नॉर्मल वाला कांसेप्ट है यार कि स्टैटिक के अंदर से आप नॉन स्टैटिक चीजों को यूज़ नहीं कर सकते वही यहां पर लिखा हुआ है कि अनलाइक इनर क्लास अ स्टैटिक नेस्टेड क्लास कैन नॉट एक्सेस द मेंबर वेरिएबल ऑफ द आउटर क्लास तो इसलिए एक्सेस नहीं कर पाते बिकॉज़ आप एक स्टैटिक चीज से नॉन स्टैटिक चीज तो रेफरेंस कर ही नहीं सकते बट या आप आपने देखा दो तरीके डिफाइन करने के ऑब्जेक्ट्स को अगर आपको इनर क्लास के ऑब्जेक्ट बनाने हैं तो अगर आपकी इनर क्लास स्टैटिक है तो तो आप डायरेक्टली इस तरीके से बना सकते हो बिना आउटर क्लास का ऑब्जेक्ट बनाए और अगर आपकी इनर क्लास नॉन स्टैटिक है तो उसके लिए आपको आउटर क्लास का एक ऑब्जेक्ट बनाना पड़ेगा उसके बाद ही आप इनर क्लास का ऑब्जेक्ट बना सकते हो तो ये इनर क्लासेस क्यों यूज की जाती है तो इनर क्लासेस मोस्टली यूज की जाती है ताकि आपका कोड रियू जबल हो सके फॉर एग्जांपल और साथ में एनकैप्सूलेशन भी दे रहा है ये बेसिकली ठीक है कि आपका जो सेम काम है वो आपने एक जगह पर रखा है ठीक है तो रीयूज किस सेंस में हो रहा है कि आपको कभी बाहर वाली क्लास यूज करनी है ठीक है और बाहर हर वाली क्लास अलग-अलग टाइप की हो सकती है जैसे सपोज करो आपने एक बनाई मदर बोर्ड नाम की क्लास उस मदर बोर्ड के अंदर आपने रजिस्टर बना दिया कैपेसिटर बना दिया इस तरीके से मल्टीपल क्लास बना दि है ठीक है तो आप उस मडर बोर्ड वाली क्लास को डायरेक्टली यूज कर सकते हो कहीं भी बिना टेंशन लिए कि आपने अंदर वाली क्लासेस बनाई है कि नहीं बनाई है बिकॉज अंदर वाली क्लासेस तो अपने आप ही बन जाएंगी जैसे आपने मदर गलास का ऑब्जेक्ट बना लिया दूसरी चीज आप इसके अंदर इन कैप्सन भी अचीव कर पाए इसकी हेल्प से बिकॉज आपके मदर बोर्ड से रिलेटेड चीजें जो है जैसे कि कैप्टर रजिस्टर जो भी चीजें है वो सब के सब हाइड है हिडन है आप से ठीक है और वह सब के सब क्योंकि क्लोज रिलेटेड है तो वह आपको दिख रही है मतलब आपको सिर्फ मदरबोर्ड चाहिए मदरबोर्ड से रिलेटेड जो भी चीज है वो मदर बोर्ड वाली क्लास के अंदर ही लिखी हुई है ठीक है तो वही चीज यहां पर लिखी हुई है यूजिंग द नेड क्लास मेक्स योर कोड मोर रीडेबल एंड प्रोवाइड बेटर इन कैप्सूलेशन बेटर एनकैप्सूलेशन कैसे कि जो मैंने आपको बताया मेथड कि एक क्लास है उस क्लास में उस क्लास से रिलेटेड सारी सारी चीजें यहां पर डिफाइंड है तो इससे बेटर एनकैप्सूलेशन तो क्या ही मिलेगा ठीक है अगर मदर बोर्ड यहां पर है और मदरबोर्ड से रिलेटेड जो भी क्लासेस आपको चाहिए थी जो आपको पता बाहर कहीं यूज नहीं होंगी वो आपने यहीं पर डिफाइन कर दी तो दिस गिव्स यू एनकैप्सूलेशन एज वेल एनकैप्सूलेशन का मतलब ये होता है कि एक जैसी चीजों को एक साथ आपको बाइंडर के रख देना है तो यह सब आपको मिलता है नेशनल इनर क्लास से और हमने देखा स्टैटिक क्लास इसके बाद अगली क्लास हम पढ़ेंगे व्हिच इज कॉल्ड एनोनिमस क्लास ये सब क्यों पढ़ा रहे हो भैया तो इसका अभी रोल आपको दिखेगा वैसे पहले हम देखेंगे एनोनिमस क्लास इसके बाद जब हम फंक्शनल प्रोग्रामिंग की बात करेंगे ना फ्यूचर में अभी इसी क्लास के अंदर अ तो आप देखोगे कि कहां पर इनका रोल बला रहा है ठीक है तो अभी बस कांसेप्ट को समझते चलो अभी तो कुछ भी नया कुछ हमने सीखा नहीं वैसे आप एक क्लास के अंदर दूसरी क्लास बना सकते हो बस एक ये ई चीज पता चली हम ठीक है इन जावा अ क्लास कैन कंटेन अनदर क्लास नोन एज नेस्टेड क्लास इट इज पॉसिबल टू क्रिएट अ नेस्टेड क्लास विदाउट गिविंग एनी नेम तो ये एक नया कांसेप्ट है हमने देखा एक क्लास के अंदर आप दूसरी क्लास बना सकते हो बड़े आराम से राइट यह तो था नॉर्मल लेकिन आप चाहो तो एक क्लास के अंदर दूसरी क्लास बना सकते हो बिना दूसरी क्लास को नाम दिए ठीक है आउटर क्लास केर एक इनर क्लास बना सकते हो बिना उस इनर क्लास को कोई नाम दिए और वो क्लास होती है एनोनिमस क्लास एनोनिमस का मतलब कुछ नाम नहीं होता उसका राइट एनोनिमस मतलब कोई नाम नहीं है अ नेड क्लास दैट डजन हैव एनी नेम इज नोन एज एनोनिमस क्लास तो आप एनोनिमस क्लास बना सकते हो एनोनिमस क्लास यूजुअली एक्सटेंड सब क्लासेस और इंप्लीमेंट इंटरफेस तो एनोनिमस क्लास कैसे बनती है जरा उसकी बात कर लेते हैं तो उसके लिए मैं बनाऊंगा यहां पे एक नया पैकेज अगेन तो लर्न एनोनिमस तो यह एक बहुत कमाल का कांसेप्ट है फॉर एग्जांपल सपोज करो मैंने एक क्लास बनाई आउटर ठीक है क्लास आउटर क्लास इस तरीके से और इस आउटर क्लास के अंदर मैंने एक मेथड बनाया लेट्स से पब्लिक वॉइड आउटर मेथड और अब मुझे इस क्लास का सब क्लास बनाना है बेसिकली एनोनिमस क्लास बनानी है मुझे तो एनोनिमस क्लास में सिर्फ तभी बना सकता हूं जब मैं सब क्लास बना रहा हूं ठीक है ऐसे नॉर्मली भी नहीं बना सकता क्योंकि आपको अगर कोई क्लास बनानी है या तो वो नई न बना रहे हो आप तो तो उसको नाम देना पड़ेगा या फिर किसी चीज से एक्सटेंड करके बना रहे हो तो उस केस में आप एनोनिमस यूज कर सकते हो जब आप किसी चीज को एक्सटेंड करके एक नई क्लास बना रहे हो तो यू कैन मेक इट एनोनिमस एज वेल तो एनोनिमस वहां पर काम में आता है तो कभी आपको आउटर क्लास का कोई चाइल्ड क्लास बनानी है तो उसको आप बिना नाम दिए बना सकते हो मतलब आप चाहो तो नाम दे सकते हो राइट आप चाहो तो ऐसा कुछ बना सकते हो क्लास इनर क्लास एक्सटेंड्स आउटर क्लास इस तरीके से तो यह तो अलाउड है राइट लेकिन यहां पर आपको नाम देना पड़ेगा इनर क्लास को राइट इनर क्लास आपको बनानी पड़ेगी एंड देन इसका आप ऑब्जेक्ट बनाओगे उसके बाद आप यूज करोगे मैं कहता हूं कि यह करने की जरूरत नहीं है राइट इनर क्लास बनाने की जरूरत नहीं है आप चाहो तो एनोनिमस क्लास बना सकते हो और वो कैसे आप सीधा उसका ऑब्जेक्ट बनाओगे ठीक है ऐसे करके कि आप लिखोगे आउटर क्लास ऑब्जेक्ट इक्वल्स टू न्यू आउटर क्लास यह कर दिया तो आपने बेसिकली आउटर क्लास का एक ऑब्जेक्ट बना दिया लेकिन आपको यह नहीं करना है आप बनाना चाहते हो आउटर क्लास का एक सब क्लास राइट उसके एक चाइल्ड क्लास बनाना चाहते हो जैसे यहां पर एक चाइल्ड क्लास बनी थी तो आप यहां से इसको हटा दो और इसको आप एक बॉडी दे दो और इस तरीके से बस इस बॉडी के बाद फिर आपको लगाना है सेमीकलन और बस खत्म इस तरीके से आपने एक एनोनिमस क्लास बना दी है और यह जो एनोनिमस क्लास है यह बेसिकली इस आउटर क्लास की चाइल्ड क्लास है और यह सिर्फ एक ही बार यूज़ हो सकती है इसके बाद यह दोबारा यूज़ नहीं होगी यह यहां पर यूज़ होगी और यहीं पर ऑब्जेक्ट के अंदर फिर ये आ चुकी है ऑब्जेक्ट के अंदर उसका ऑब्जेक्ट बन चुका है इनर क्लास का ठीक है उसके सब क्लास का सब क्लास का नाम लिखने की भी कोई जरूरत नहीं है आपने बस इस तरीके से लिख दिया और सब क्लास का काम खत्म हो चुका है आपने एक तरीके से सब क्लास ऑब्जेक्ट बनाया यहां पर तो यहां पर ये जो ऑब्जेक्ट बना है यह आउटर क्लास आपको दिख रहा है आपको देख के लग रहा हो कि ये तो पेरेंट क्लास का ऑब्जेक्ट बना है लेकिन नहीं पेरेंट क्लास का ऑब्जेक्ट नहीं बना ये चाइल्ड क्लास का ऑब्जेक्ट बना यहां पर और उस चाइल्ड क्लास के अंदर आप अपने खुद के मेथड यहां पर डिफाइन कर सकते हो फॉर एग्जांपल लेट से आपने लिख दिया वॉइड सिं इस से तो आप इसके अंदर सिंग वाला मेथड आप डिफाइन कर सकते हो आप चाहो तो इसके अंदर यह वाला जो मेथड ऑलरेडी बना हुआ था इसको भी ओवरराइड कर सकते हो इस तरीके से पब्लिक वॉइड आउटर मेथड राइट तो यहां पे आपने एक तरीके से ओवरराइड कर दिया इस मेथड को तो ऑल यू कैन डू दिस और यहां पर ये एनोनिमस क्लास बन चुकी है उस एनोनिमस क्लास का ऑब्जेक्ट भी बन चुका है यहां पे और एनोनिमस क्लास जैसे मैंने बताया कि एक ही बार यूज की जा सकती है दोबारा यूज नहीं की जा सकती तो इट इज सिमिलर टू क्रिएटिंग इनर क्लास जैसे कि आप क्लास इनर क्लास बनाते हैं उसके बाद वो एक्सटेंड करते हैं आउटर क्लास को बेसिकली इट इज सिमिलर टू क्रिएटिंग अ सब क्लास लेकिन वो सब क्लास आपको बनाने की जरूरत नहीं पड़ी क्योंकि आपको पता है कि ये मुझे सिर्फ एक ही बार यूज़ करना है अगर कभी आपको ऐसा लगता है कि कोई चीज मुझे सिर्फ एक ही बार यूज़ करनी है दोबारा यूज़ नहीं होगी और मुझे इसके लिए उसका सब क्लास बनाना पड़ेगा तो उस केस में आप चाहो तो एनोनिमस क्लास बना सकते हो एक और तरीके से आप इसको ऐसे समझ सकते हो ठीक है और यह एक एक एग्जांपल हो गया कि जब आप क्लास को एक्सटेंड कर दो दूसरी क्लास से तब आप बना सकते हो एनोनिमस क्लास या फिर आप चाहो तो एन इंटरफेस एन एनोनिमस क्लास इंप्लीमेंट य इस तरीके से भी आप चाहो तो एक एनोनिमस क्लास बना सकते हो तो यह तो हमने देख लिया ठीक है यह है एक सुपर क्लास दैट एन एनोनिमस क्लास एक्सटेंड एक सुपर क्लास है उसको एक एनोनिमस क्लास ने एक्सटेंड कर लिया एनोनिमस क्लास का है एनोनिमस क्लास का कोई नाम नहीं होता इसलिए दिख नहीं आपको लेकिन आप चाहो तो एक इंटरफेस के थ्रू भी काम कर सकते हो इंटरफेस और लेट्स से दिस इज योर सुपर इंटरफेस और इस इंटरफेस के अंदर कोई मेथड है लेट्स कॉल इट इंटरफेस मेथड तो आप इस सुपर इंटरफेस का भी ऑब्जेक्ट बना सकते हो सीधा लेकिन आप बोलो ऑब्जेक्ट तो बना नहीं सकते इंटरफेस का मैं बोलूंगा हां आप ऑब्जेक्ट नहीं बना रहे इंटरफेस का आप बना तो ऑब्जेक्ट एक क्लास क ही रहे हो जो क्लास अपने आप ही इंप्लीमेंट कर रही है इस सुपर इंटरफेस को बिना उस क्लास का कोई नाम बनाए ठीक है तो आप यहां पर लिख दोगे ऐसे कि सुपर इंटरफेस ऑब्जेक्ट टू इक्टू न्यू सुपर इंटरफेस और अब यहां पर देखो अपने आप यह सब लिखा आ गया तो यहां पर भी आपने वही काम किया न्यू सुपर इंटरफेस तो आप लिख नहीं सकते बिकॉज़ दिस इज नॉट अ क्लास बट आप न्यू सुपर इंटरफेस लिख के आपने एक ऐसी क्लास बना दी है व्हिच इज एनोनिमस इसलिए इसका कुछ नाम नहीं है और वो क्लास इस सुपर इंटरफेस को इंप्लीमेंट भी कर रही है तो इस तरीके से आप दो तरीके हैं स अ एनोनिमस क्लास बनाने के चाहे तो आप एक्सटेंड करके बना लो किसी और क्लास को चाहे तो आप किसी अ इंटरफेस को इंप्लीमेंट करके बना लो एनोनिमस क्लास दोनों ही तरीकों से आप एनोनिमस क्लास बना सकते हो और अब यह वाली जो क्लास बनी है उसका ऑब्जेक्ट यहां पर आपके पास रेडी है उस ऑब्जेक्ट को आप सिर्फ एक बार एक बार यूज कर सकते हो मतलब ऑब्जेक्ट ऑब्जेक्ट सिर्फ एक ही बार बन सकता है उसका मल्टीपल ऑब्जेक्ट नहीं बन सकते एनोनिमस क्लास के मल्टीपल ऑब्जेक्ट नहीं बन सकते बिकॉज एनोनिमस क्लास कहीं पे है ही नहीं सिर्फ उसका ऑब्जेक्ट है मेमोरी के अंदर मेमोरी में कोई क्लास नहीं बनी है सिर्फ एक ऑब्जेक्ट बना हुआ है जिसको आप यूज कर सकते हो जितनी मर्जी बार समझ में आ रहा है तो इस एनोनिमस क्लास का फायदा क्या हुआ भैया मैं बोलूंगा एनोनिमस क्लास का फायदा आप यूज करते हो बेसिकली जैसे कंपैरेटर वगैरह बनाते टाइम तो कई बार होता क्या है ना अभी हम देखेंगे अभी कलेक्शन फ्रेमवर्क के अंदर कि सर्टिंग का टाइम कई बार आपको एक कंपैरेटर चाहिए होता है ठीक है कंपैरेटर ने कंपैरेटर इंप्लीमेंट कर होना चाहिए ठीक है मतलब कंपेरटिवली मेंट करेगी एंड देन उसका उसका ऑब्जेक्ट बना के पास करो आप सीधा चाहो तो एनोनिमस क्लास का ऑब्जेक्ट बना के पास कर सकते हो अभी हो सकता है कुछ लोगों के दिमाग के ऊपर से जारी हुई चीज कि भाई यूज कैसे हो रहा है य मैं बोलूंगा यार जब हम कलेक्शन फ्रीम मूव करेंगे ना और मैं आपको कस्ट कंपैरेटर और कंपैरेटिव तो वहां पर मैं आपको दोबारा बताऊंगा कि कैसे ये देखो एनोनिमस क्लास जो हमने वहां पढ़ी थी वो यूज हो रही है लेकिन उससे पहले यहां पर भी समझ में आना चाहिए कि किस तरीके से एनोनिमस क्लास पूरी की पूरी पिक्चर में आ रही है ये एनोनिमस क्लास का कोई नाम नहीं है लेकिन आपको बस एक बार उसका ऑब्जेक्ट बना के यूज करना है तो आपने इस तरीके से सब क्लास बना के बना ली एनोनिमस क्लास या फिर एक इंटरफेस को इंप्लीमेंट करके बना ली नोमस क्लास ठीक है ये दोनों ही तरीकों से हमारी एनोनिमस क्लास बन रही है आई थिंक समझ में आ रहा होगा तो इसके बाद बाद हम आगे मूव करेंगे और अब हम बात करेंगे फंक्शनल इंटरफेस की तो फंक्शनल इंटरफेस बड़ा ही कमाल का कांसेप्ट है और ये जावा 8 के बाद इंट्रोड्यूस किया गया है और इसके अंदर लैडा भी डाला गया है ठीक है लैडा एक्सप्रेशंस फंक्शनल प्रोग्रामिंग क्या होती है फंक्शनल प्रोग्रामिंग का मतलब होता है कि आप चाहो तो फंक्शन को पास कर सकते हो एज एन पैरामीटर एज अ पैरामीटर पास कर सकते हो जहां पे कोई नॉर्मल वेरिएबल पास होना था वहां पे आप फंक्शन यूज कर पा रहे हो ये कांसेप्ट आपका जावास्क्रिप्ट के अंदर काफी हैवली यूज किया जाता है लेकिन सिमिलर टाइप का कांसेप्ट आपका यहां पर भी अवेलेबल हो गया है अब जावा के अंदर विद दी हेल्प ऑफ लैडा एक्सप्रेशंस और यह सब का सब पावर करता है फंक्शनल इंटरफेस फंक्शनल इंटरफेस क्या चीज होती है तो बेसिकली ऐसे इंटरफेस जिनके अंदर सिर्फ एक ही मेथड है अगर किसी इंटरफेस के अंदर सिर्फ एक ही मेथड है तो आप बोल सकते हो कि यह इंटरफेस एक फंक्शनल इंटरफेस है जैसे कि अभी तक हमने बना भी लिए काफ सारे फंक्शनल इंटरफेस हमने देखा भी नहीं जैसे कि यह वाला इंटरफेस देखो इसके अंदर सिर्फ एक ही मेथड है राइट तो इसको मैं बोल सकता हूं कि ये एक फंक्शनल इंटरफेस है और अगर आपको पक्का करना है ना कि ये एक फंक्शनल इंटरफेस है मतलब बताना है दूसरों को भी कि सुनो मैं इसको एज अ फंक्शनल इंटरफेस यूज कर रहा हूं कहीं पर तो आप ट द रेट करके लिख सकते हो फंक्शनल इंटरफेस ये एक दूसरी एनोट है जैसे आपने रेट ओवरराइड देखा था वैसे ही रेट फंक्शनल इंटरफेस भी होता है और ये सिर्फ तभी काम करता है जब आपने एक इंटरफेस के अंदर एक मेथड बना रखा है अगर आप एक इंटरफेस के अंदर दूसरा मेथड बनाओगे लेट्स से इंट वॉक करके मैं बनाने का ट्राई करता हूं तो ऊपर एरर मिलने लग जाएगा कि मतलब नीचे तो अलाउड है लेकिन अ इसको आप फंक्शनल इंटरफेस नहीं बोल सकते बिकॉज फंक्शनल इंटरफेस के अंदर तो सिर्फ एक ही मेथड होता है तो एक ही मेथड रखो कोई सा एक और दूसरा रिमूव कर दो एंड नाउ यू कैन कॉल इट एज अ फंक्शनल इंटरफेस आप बोलो भ इसका फायदा क्या है एक ही मेथड वाले इंटरफेस का फायदा क्या है मैं बोलूंगा यही तो फायदा है कि इसके अंदर सिर्फ एक ही इंटरफेस है अब आप इसको यूज कर सकते हो इन लडा एक्सप्रेशंस लडा एक्सप्रेश बड़ी कमाल की चीज है जरा उनको समझेंगे तो जब आपने एक ही एक इंटरफेस के अंदर एक ही मेथड बनाया तो आप उसको यूज कर सकते हो और इसको यूज कैसे करेंगे तो फॉर एग्जांपल सपोज करो मैंने ये बनाना था ठीक है मुझे इस सुपर इंटरफेस का ऑब्जेक्ट बनाना था तो मैं ऐसे तो डायरेक्टली बना नहीं सकता तो मैं एक क्लास बना रहा हूं एनोनिमस क्लास जो कि इंप्लीमेंट कर रही है इस सुपर इंटरफेस को और ये मेरी वो एनोनिमस क्लास है राइट अब मैं चाहूं तो इस पूरे को रिप्लेस कर सकता हूं विद लडा एक्सप्रेशंस लडा एक्सप्रेशन से कैसे इसको रिप्लेस कर सकता हूं तो कुछ नहीं करना मुझे मुझे पता है कि इस इंटरफेस के अंदर सिर्फ एक ही मेथड है यह पता होना चाहिए वरना लडा एक्सप्रेशन काम नहीं करेगा लडा एक्सप्रेशन सिर्फ फंक्शनल इंटरफेस पे ही काम करता है ठीक है तो मुझे पता होना चाहिए कि इस इंटरफेस के अंदर तो सिर्फ एक ही मेथड है तो मैं चाहूं तो इसको रिमूव कर सकता हूं ये क्लास को ठीक है न्यू क्लास और उसके बाद मैं चाहूं तो ये ये सब मैं वैसे अलग तरीके से लिखूंगा ऐसे नहीं लिखा जाता ये तो मैं यहां पर इसको तो लिखा रहने देता हूं ठीक है एक मैं नया बना देता हूं लेट से सुपर इंटरफेस ऑब्जेक्ट 3 इक्व टू तो मुझे पता है कि इसके अंदर सिर्फ एक ही इंटरफेस मेथड है और मुझे उसका नाम भी पता ही होगा क्योंकि एक ही है तो मैं कंफ्यूज तो कर नहीं सकता मतलब मेरा कंपाइलर तो कंफ्यूज कर नहीं सकता तो मैं इसको सीधा ऐसे लिख सकता हूं एक मेथड जिसके अंदर मैंने मेथड का नाम भी नहीं लिखा ठीक है सपोज करलो यही वाला मेथड है जिसके अंदर मैंने मेथड का नाम भी नहीं लिखा और क्योंकि य मेथड कुछ कुछ आर्गुमेंट भी नहीं ले रहा तो इसके अंदर मैं आर्गुमेंट भी पास नहीं करूंगा उसके बाद में लगाऊंगा एरो एरो ऐसे लगेगा हाइन और यह एरो बन गया और यह मेरी मेथड की बॉडी है बस खत्म और यह जो पूरा मैंने यहां पर लिखा है ना दिस कैन बी रिप्लेस बाय दिस ऑब्जेक्ट टू और ऑब्जेक्ट थ दोनों सेम ही चीज है आप बो ये क्या लिख दिया आपने ये यह तो पहली बार देख रहा हूं और ये एरो तो देखा ही नहीं था आज से पहले कभी बोल यही लडा में इंट्रोड्यूस किया गया था लडा बोलता है कि अगर आपके पास एक फंक्शनल इंटरफेस है तो फंक्शनल इंटरफेस का जब आपको ऑब्जेक्ट बनाना है और एनोनिमस ऑब्जेक्ट के थ्रू आप बनाते हो तो उसके लिए आपको यह करना पड़ता है राइट ओवरराइड वगैरह करना पड़ता है इस तरीके से पूरी की पूरी इंप्लीमेंटेशन लिखनी पड़ती है तो ये एक टीडीएस काम हो जाता है राइट उसको आप सिंपलीफाई कर सकते हो विद द हेल्प ऑफ इस तरीके से विद द हेल्प ऑफ लडा फंक्शन लडा फंक्शन क्या कह रहे है लडा बोल रहा है कि भाई देखो आपको पता है कि इसके अंदर एक ही मेथड है और आपको पता है कि वो क्लास कौन सी है बिकॉज आप यहां पर इंटरफेस का नाम तो लिख रहे हो राइट ये इंटरफेस का नाम तो आप यहां पर लिख ही रहे हो तो आपको पता है कि वो कौन सा इंटरफेस है और आपको पता है उस इंटरफेस के अंदर कौन सा मेथड है तो मैं क्यों बताऊ आपको इंटरफेस का नाम और क्यों बताऊ मैं आपको मेथड का नाम जो आपको पहले से ही पता है ठीक है तो मैं मैंने आपको वो दोनों चीज अवॉइड कर दी और इस तरीके से मैंने वो आपको ये इंप्लीमेंटेशन चाहिए थी ना इसकी वो इंप्लीमेंटेशन मैं ऐसे दे रहा हूं कि ये मेरा फंक्शन का नाम है उसके बाद ये एरो और उसके बाद य उस फंक्शन की बॉडी बस खत्म एक काम करते हैं मैं एक और इंटरफेस बनाता हूं अगर अगर ये ऊपर से जा रहा है लेट्स से इंटरफेस और वॉकेबल ठीक है और इसके अंदर मैं बनाऊंगा इंट वॉक्स और यहां पर लिख दिया मैंने लेट्स से इंट स्टेप्स कि कितने स्टेप्स य वक कर रहा है ये मेरा इंटरफेस है ठीक है तो यह तो मेरा एक नर्मल इंटरफेस है अब मुझे इस इंटरफेस कार यूज करना है वि द हेल्प ऑफ लडा एक्सप्रेशन तो मैं क्या करूंगा इस इंटरफेस को पहले तो ऊपर लेके आता हूं यह मेरी यह मेरा क्लास के बाहर है अभी भी पब्लिक क्लास के बाहर है तो मैं य पर क्या कर सकता हूं मैं ऐसे लिख सकता हूं वॉकेबल और वक ऑब्जेक्ट वॉकेबल या फिर इक्वल टू एक फंक्शन क्योंकि मुझे पता है बॉक्स फंक्शन ही रहने वाला है वो तो फंक्शन का नाम और इस फंक्शन केर एक ही आर्गुमेंट है च इ इंट स्टेप्स और यह ऐसे बस इसकी इंप्लीमेंटेशन मुझे यहां पर लिखनी है तो मैं य पर इंप्लीमेंटेशन डिफाइन कर देता हूं लेट्स से एस आउट यहां पर एरर किस चीज का आ रहा है मिसिंग रिटर्न स्टेटमेंट अच्छा यहां पर रिटर्न भी है हां यह एक इंट रिटर्न करता राइट तो यहां से आपको रिटर्न भी करना होगा रिटर्न स्टेप्स इस तरीके से और यहां पर आप डिफाइन कर सकते हो इस तरीके से कि वक स्टेप्स स्टेप्स तो अब मैंने वॉकेबल बना लिया अब य वॉकेबल मुझे यूज करना है राइट और इस वॉकेबल का मुझे वक फंक्शन यूज करना है तो मैं कैसे यूज कर सकता हूं तो मैं ऐसे यूज कर सकता हूं वॉकेबल डॉट अच्छा यह वॉकेबल मैं ऐसे यूज नहीं कर सकता मुझे मेन मेथड के अर यूज करना होगा मेन मेथड कहां पर है मेन मेथड मैंने अभी तक 9स के अंदर तो मैं बना देता हूं पब्लिक स्टैटिक वॉइड मेन और उसके अंदर इस वॉकेबल को डालता हूं मैं और अब इस वॉकेबल को मैं यूज कर सकता हूं वॉकेबल डॉट बॉक्स उसके अंदर स्टेप बता दो लेट्स से फाइव स्टेप्स तो अब ये जो वॉकेबल है यह जो एक एनोनिमस क्लास बनी है और उस एनोनिमस क्लास से जो ऑब्जेक्ट बना है यह सिर्फ एक ही बार यूज किया जा सकता है मतलब सिर्फ यहां पे यूज हो सकता है इस स्कोप के अंदर और मल्टीपल आप ऑब्जेक्ट बना नहीं सकते इसके ठीक है इसके आप मल्टीपल ऑब्जेक्ट नहीं बना सकते बिकॉज एनोनिमस क्लास बनी और खत्म हो गई लेकिन यह स्टिल काम करेगा ठीक है वक फाइव स्टेप्स लिखा रहा है यहां पे तो यह फायदा होता है आपका बेसिकली आई थिंक समझ में आ रहा होगा कि आप इस तरीके से लडा एक्सप्रेशन डिफाइन कर सकते हो लडा एक्सप्रेशन की खास बात एक और है कि आप इसमें से अगर आपको पता है कि एक ही लाइन आपको रिटर्न करनी है मतलब मुझे दिख रहा है कि मुझे ऐसे प्रिंट नहीं कराना कुछ मुझे अगर कभी लगता है कि मुझे कुछ प्रिंट कराने की जरूरत नहीं है जैसे ये तो वॉकेबल का का एक ऑब्जेक्ट है वॉकेबल मैं चाहता हूं एक और ऑब्जेक्ट बनाना लेकिन इस बार मैं कुछ प्रिंट नहीं कराना चाहता उसके अंदर तो वॉकेबल ऑब्जेक्ट टू इक्टू तो यह हो जाएगा मेरा इंट स्टेप्स तो मैं यहां से सीधा ऐसे रिटर्न करा सकता हूं रिटर्न टू टाइम्स स्टेप्स और यहां पर रिटर्न लिखने की जरूरत नहीं है यहां पर ये सिर्फ ऐसे लिख दो तो यह भी काम करता है ठीक है यहां पर एक्चुअली एक फंक्शन बना है जो कि इंट ले रहा है यह एक्चुअली वॉकेबल वॉक्स वाला फंक्शन यहां पर इंप्लीमेंट किया जा रहा है लेकिन ये सिर्फ तभी काम करेगा जब आपको पता है एक ही इसके अंदर एक्सप्रेशन है अगर एक से ज्यादा एक्सप्रेशन है तब काम नहीं करता ये तो ये एक तरीके से हैक टाइप का है कि यह जो फंक्शन है यह एक इं स्टेप्स ले रहा है और यह रिटर्न कर रहा है टू टाइम स्टेप्स तो अगर आपको कभी भी यूज करना है कि इस फंक्शन की वैल्यू क्या आ रही है तो आप ऐसे यूज कर सकते हो ऑब्जेक्ट टू डॉट बॉक्स लेट्स से मैंने इसके अंदर पास किया 8 तो मुझे पता है इसके अंदर से 16 रिटर्न होने वाला है इसको रन करते हैं यहां पे 16 मिल रहा है मुझे राइट तो यह वाले फंक्शन ने अपना काम किया और अगर आपको कभी लगता है कि किसी फंक्शन के अंदर एक ही स्टेटमेंट है और वही स्टेटमेंट आपको रिटर्न करनी है तो आप बिना रिटर्न लिखे भी ऐसे काम चला सकते हो तो इस तरीके के मैंने और भी मल्टीपल लडा एक्सप्रेशन बना सकते हैं क्योंकि लडा एक्सप्रेशन के अंदर बहुत सारी चीजें होती हैं राइट तो ये इस तरीके से भी लिखोगे तो भी काम करेगा लम एक्सशन इंट x रिटर्न्स x + 1 तो इसका मतलब है कि आप रिटर्न कर रहे हो x + 1 एक ऐसा फंक्शन जो कि इंट ले रहा है और रिटर्न कर रहा है x + 1 या फिर आप ऐसे भी कर सकते हो कि कर्ली ब्रेस लगा के तो आप जितनी मर्जी लाइने लिख सकते हो राइट तो उसमें भी आप एंड में रिटर्न x + 1 लिख सकते हो दिस इज सेम एज अबब आप ये काम भी कर सकते हो ठीक है ये तो बहुत ही बिजार हो गया कि आपको रिटर्न टाइप क्योंकि आपको पता है एक ही फंक्शन है और उस फंक्शन के अंदर जो भी वेरिएबल है वो तो उसी ऑर्डर में पास होंगे राइट तो आपको पता है कि वो जो वेरिएबल है वो इंट है या लॉन्ग है या स्ट्रिंग या बुलियन या डबल है जो भी है तो आपको यहां पर इंट लगाने की क्या जरूरत है मत लगाओ इंट यहां पर राइट यहां पर भी इंट मत लगाओ जरूरत क्या है क्योंकि आपको पता है ये जो फंक्शन है एक ही फंक्शन है इस फंक्शन के अंदर जो पैरामीटर पास है वो य य पैरामीटर पास्ड है तो मैं क्यों बताऊं आपको कि उसके अंदर इंट है या लंग है तो आप चाहो तो यहां पे एक और स्टेप आगे जा सकते हो और यहां से वो इंट भी हटा सकते हो तो लडा एक्सप्रेशन एकदम छोटा कर देता है एक्सप्रेशंस को ठीक है तो आपने वो इंट भी हटा दिया यहां से और चाहो तो आप ये वाला पेंसिस भी हटा सकते हो यहां से तो ये सब काम करेगा पेंसिस जो लगा था ना यहां वो भी हटा दिया तो यह भी काम करेगा यह भी काम करेगा यह भी काम करेगा अ ये भी काम करेगा ये वाला फंक्शन आपका s ड लेंथ रिटर्न कर रहा है ये सारे सारे फंक्शन ये वाला फंक्शन भी एड लेंथ रिटर्न कर रहा है ये वाला फंक्शन t स्टार्ट रिटर्न नहीं कर रहा है ठीक है ये वाला फंक्शन t स्टार्ट को कॉल कर रहा है क्योंकि यहां पे जब आपने कर्ली ब्रेस लगा दिया तो आपको रिटर्न स्टेटमेंट लिखना पड़ेगा यह वाला फंक्शन भी ड स्टार्ट को कॉल कर रहा है बस आप एक और फंक्शन बना सकते हो जो कि दो पैरामीटर ले रहा है x और y और रिटर्न कर रहा है x + y और आप चाहो तो उसके अंदर दोनों में इंट लिखो चाहे ना लिखो फरक नहीं नहीं पड़ता बिकॉज हमें पता है कि कौन सा पैरामीटर कौन सी जगह पर है और ये रिटर्न कर रहा है x + y ठीक है तो इस तरीके से आपके लैडा एक्सप्रेशन बनते हैं और बहुत खतरनाक कुछ नहीं है बस एक बार का लर्निंग कर्ब है और यह पता होना चाहिए कि यूज कहां पे होते हैं यूज तभी हो सकते हैं जब आपका फंक्शनल इंटरफेस हो फंक्शनल इंटरफेस वो इंटरफेस होता है जिसके अंदर आप सिर्फ एक ही फंक्शन बना सकते हो अगर आप एक से ज्यादा फंक्शन बना दिए तो वो एक फंक्शनल इंटरफेस नहीं कहलाएगा फिर और वहां पर फिर आप लैडा एक्सप्रेशन यूज कर सकते हो लडा एक्सप्रेशन को बहुत अच्छे से डिटेल में हम देखेंगे जब हम कंपैरेटर की बात करें की बात करू वो होगा हमारा कलेक्शन फ्रेमवर्क में और कलेक्शन फ्रेमवर्क में हम मूव कर रहे होंगे नेक्स्ट वीक से तो वहां पर मैं आपको सिखाऊंगा सबसे पहले तो कलेक्शंस अलग-अलग टाइप की एर लिस्ट लिंक लिस्ट टैग क्यूस ये सब मैप सेट और उसके बाद हम वहीं पर देखेंगे कि कैसे आप कंपैरेटर लगा के सॉर्ट कर सकते हो वहां पर दोबारा से हम लडा एक्सप्रेशन देख रहे होंगे ठीक है तो वो सब होगा हमारी नेक्स्ट क्लास के अंदर आज की क्लास में अगर कोई भी डाउट रह गया होगा अभी भी आपको तो आपको जाके पूछना है आज हमने ये सब चीजें पढ़ी फंक्शन इंटरफेस एनोनिमस क्लास इनर क्लास स्टैटिक क्लास इंटरफेस एब्स्ट्रेक्शन एब्स्ट्रेक्ट कीवर्ड तो काफी सारी चीजें थी आज की क्लास में कोई भी डाउट कहीं पर भी किसी भी टाइप का हो तो आपको बताना है और मैं आपकी पूरी हेल्प करूंगा ठीक है इसी के साथ मिलूंगा मैं आपसे नेक्स्ट क्लास में चलते हैं बाय बाय आज हम पढ़ेंगे जावा मेमोरी के बारे में जावा मेमोरी कैसे काम करती है तो हीप और स्टैक दो टाइप की मेमोरी होती है वो हम पढ़ेंगे आज पॉलीमोर्फस जम का जो हमारा ऊप्स कांसेप्ट अभी बच गया वो पढ़ लेंगे लेकिन यह हमने कवर कर ही लिया है ठीक है यह बस नाम नाम का कांसेप्ट रह गया जो हमारा पढ़ना बच रहा है इसके अलावा ऑब्जेक्ट क्लास आज हम देखने हैं ठीक है कि ऑब्जेक्ट क्लास क्या होती है और उसके अंदर कौन-कौन से मेथड्स होते हैं क्या-क्या यूज होते हैं उनके तो आज थोड़े से डीएस से रिलेटेड तो नहीं है ये टॉपिक्स ठीक है अभी हम क्योंकि जावा की बात कर रहे हैं तो बहुत सारे डीएस से रिलेटेड टॉपिक्स तो अभी हम नहीं देख रहे हैं लेकिन इसके बाद हम जैसे कलेक्शन फ्रेमवर्क मूव करेंगे तो कलेक्शन फ्रेमवर्क के अंदर काफी सारे टॉपिक्स होंगे जो कि डीएस से रिलेटेड होंगे और उसके बाद अरेज लिंक लिस्ट ट क्यूस हमारा डीएस स्टार्ट हो जाने वाला उस बाद ठीक है प्रॉपर हार्डकोर वाला तो आज पढ़ेंगे पहले जावा मेमोरी के बारे में तो हाउ जावा मेमोरी वर्क्स जावा ऑब्जेक्ट क्लास एंड जावा पॉलीमोर्फस जम ये तीन टॉपिक्स है आज के हमारे ठीक है तो सबसे पहले तो हीप और स्टैक दो टाइप की मेमोरी होती है इनको मैं अभी आपको डिटेल में बताऊंगा वैसे तो लेकिन हां ये दो टाइप की मेमोरी हमारे पास होती है एक होती है हमारे पास हीप मेमोरी एक होती है हमारे पास स्टैक मेमोरी और किस तरीके से काम करती है उसकी बात कर लेते हैं तो स्टैक मेमोरी होती है जिसके अंदर ऑर्गेनाइज्ड फॉर्म में डाटा रखा होता है आप देख रहे हो एक के ऊपर एक के ऊपर एक जस्ट लाइक अ स्टैक ठीक है स्टैक के अंदर क्या होता है एक के ऊपर एक के ऊपर एक एलिमेंट डलते जाते हैं स्टैक को वैसे हम डिटेल में पढ़ेंगे लेकिन स्टैक मेमोरी आप पढ़ लीजिए कि जावा के अंदर एक स्पेशल काइंड ऑफ मेमोरी होती है जिसके अंदर आपके वेरिएबल वगैरह स्टोर होते हैं रेफरेंसेस स्टोर होते हैं तो उसके लिए आपकी स्टैक मेमोरी होती है इसके अलावा एक मेमोरी और होती है जिसको हम कहते हैं हीप मेमोरी हीप मेमोरी के अंदर अन ऑर्गेनाइज्ड फॉर्म में डाटा रखा होता है ठीक है जैसे यहां पर देखो और इसके अंदर एक्चुअल वैल्यू स्टोर होती है तो जितने भी आप ऑब्जेक्ट्स बनाते हो वो सारे सारे आपके हीप मेमोरी में जा रहे होते हैं तो जो आपके एक्चुअल ऑब्जेक्ट्स होते हैं वो आपके हीप मेमरी में जाते हैं और जो आपके रेफरेंसेस होते हैं उन ऑब्जेक्ट्स के वो आपके स्टैक मेमोरी में जा रहे होते हैं इसके अलावा स्टैक मेमोरी के अंदर आपके जो वेरिएबल है लोकल वेरिएबल हैं वो भी जा रहे होते हैं तो यह वाला कोड दिख रहा होगा जैसे आप यहां पर देखो ये पहली लाइन लाइन नंबर टू को देखो यहां पर लिखा हुआ है लाइन नंबर टू ठीक है लाइन नंबर टू के अंदर क्या हो रहा है लाइन नंबर टू के अंदर आपका इंट आ = 1 ये स्टोर हो रहा है तो दिस इज अ वेरिएबल राइट ये आ जो है वो एक वेरिएबल है तो इंट आ यह चीज आपका क्योंकि रेफरेंस है तो दिस विल स्टोर इन द स्टैक मेमोरी और स्टैक मेमोरी के अंदर भी आप देख रहे हो यह एक डब्बा अलग से बना हुआ है तो दिस डब्बा दिस डब्बा राइट हियर इज़ अ स्टैक मेमोरी और इसके अंदर भी एक हमारा यह जो डब्बा बना हुआ है यह बेसिकली अ बता रहा है कि यह चीज आपके मेन फंक्शन के अंदर है ठीक है तो दिस थिंग ये जो डब्बा है स्टैक मेमोरी के अंदर ये डिनोट कर रहा है कि आपने मेन फंक्शन कॉल किया है तो स्टैक मेमोरी तब भी इवोक होती है जब आप कोई भी फंक्शन कॉल करते हो तो जब भी आप कोई फंक्शन कॉल करोगे तो आपका उसके रेस्पों स्टैक मेमोरी बन जाएगी ठीक है उस उस फंक्शन के करेस्पॉन्डिंग्ली मेन ठीक है इस तरीके से तो यहां पेय मेन को पॉइंट कर रहा है तो और इसके अंदर जो भी चीज होंगी वह मेन फंक्शन जब तक चलेगा उस तब तक चलेंगी जैसे ही मेन फंक्शन खत्म हो जाएगा उसके बाद यह डब्बा भी खत्म हो जाएगा मेमोरी में से और उसके अंदर फिर हम गए उसके अंदर हम लिखा लाइन i = 1 तो इसीलिए यहां पर इंट आ तो स्टोर हुआ ही है लेकिन क्योंकि जो वन है इट इज अ नॉन प्रेम डेटा टाइप और लोकल वेरिएबल है तो इसीलिए यहां पर स्टोर हो गया है ठीक है उसके बाद आपने बनाया एक ऑब्जेक्ट ऑब्जेक्ट इक्व टू न्यू ऑब्जेक्ट तो यहां पे आपने एक ऑब्जेक्ट क्रिएट किया लाइन नंबर थ्री के अंदर ठीक है आज हम ऑब्जेक्ट क्लास वैसे देखेंगे लेकिन आप ऐसे किसी भी क्लास का ऑब्जेक्ट बना सकते थे फॉर एग्जांपल कार क्लास का या स्टूडेंट क्लास का तो आपने कोई भी क्लास बना ली उसका एक ऑब्जेक्ट अगर आपने बनाया तो क्या होगा उसका जो रेफरेंस है दिस ऑब्जेक्ट रेफरेंस ये रेफरेंस आपका यहां पर स्टोर हो जाएगा स्टैक मेमोरी के अंदर बिकॉज ये जो रेफरेंस है ये तभी तक वैलिड रहेगा जब तक आपकी ये मेन मेमोरी वैलिड है ठीक है यह वाला रेफरेंस ऑब्जेक्ट रेफरेंस लेकिन ये जो ऑब्जेक्ट क्रिएट हुआ है ये जो न्यू ऑब्जेक्ट क्रिएट हुआ है यह आप देखोगे यह आपका हीप मेमोरी में क्रिएट हुआ है तो फॉर एग्जांपल कभी आपने कोई और क्लास बनाई जैसे नीचे मैंने एक और क्लास बनाई है मेमोरी मैम इक्टू न्यू मेमोरी ठीक है फॉर एग्जांपल मैंने कोई मेमोरी क्लास बना ली उसके अंदर मैंने न्यू मेमोरी करके ऐसे ऑब्जेक्ट क्रिएट किया है तो वो जो ऑब्जेक्ट यहां पर जो न्यू के बाद जो भी क्रिएट हो रहा है ना यह सारी सारी चीजें हमारी हीप एरिया में बनती है हीप एरिया में बनने का फायदा एक और होता है कि अब आप इनको कहीं से भी एक्सेस कर सकते हो फॉर एग्जांपल ये जो ऑब्जेक्ट है यह कहीं से भी एक्सेस हो सकता है इसका रेफरेंस अगर आपके पास स्टोर्ड है एग्जांपल इस ऑब्जेक्ट को चाहूं तो मैं मेन फंक्शन से भी कॉल कर सकता हूं देखो मेन फंक्शन के अंदर भी इसका रेफरेंस है या तो मैं किसी और फंक्शन के अंदर भी इसका रेफरेंस पास कर सकता हूं और वहां से भी मैं इसको कॉल कर सकता हूं ठीक है जैसे ये मैंने कोई और फंक्शन बनाया है फू नाम का जो कि नीचे हम देखेंगे तो जब आपने मेमोरी बनाई और यह ऑब्जेक्ट बनाया तो उसका भी जो रेफरेंस है वो जो ये रेफरेंस यहां पर है यह रेफरेंस आपका स्टैक मेमोरी में गया है लेकिन जो ऑब्जेक्ट बनाया वो हमारा हीप मेमोरी में गया है हां मेमोरी मैम इक्वल टू न्यू मेमोरी ठीक है तो जब आपने न्यू मेमोरी किया तो इस तरीके से मेमोरी का भी एक ऑब्जेक्ट बन गया हमारी हीप मेमोरी के अंदर ऑलराइट यह हमारी हीप मेमोरी है जिसके अंदर ऑब्जेक्ट बन गया है अब लेकिन इसका जो रेफरेंस है वो हमारा स्टैक मेमोरी में स्टोर्ड है और दिस इज इनसाइड द मेन मेमोरी रेफरेंस उसके बाद देखो जब मैंने मैम डॉट फूल यह वाला फंक्शन कॉल किया तो यह जो फू वाला फंक्शन है यह फंक्शन जब कॉल होगा तो जैसे ही कोई भी फंक्शन कॉल होता है कोई भी फंक्शन कॉल हो तुरंत स्टैक मेमोरी में उसका एक उसका एक डब्बा बन जाएगा देख रहे हो इस इसका एक यहां पर डब्बा बन गया इस डब्बे का मतलब एक्चुअली है क्या इन रियलिटी ये क्या बताना चाह रहा है यह बताना चाह रहा है कि देखो स्टैक मेमोरी अपने अंदर कुछ कुछ चीज स्टोर करेगी और जैसे ही वो फंक्शन वो जैसे ही उस फंक्शन के कॉरस्पॉडिंग चीजें गायब हो जाएंगी जब वो फंक्शन गायब हो जाएगा बेसिकली कहना चाहता हूं कि अगर फू वाला फंक्शन खत्म हो गया फू वाले फंक्शन ने अपना काम खत्म कर दिया तो उसके बाद यह फू वाला जो पूरा का पूरा डब्बा है यह एक साथ गायब हो जाएगा तो इसके बाद फू के अंदर जो भी चीजें बनी थी वह आप उनको एक्सेस नहीं कर सकते हो ठीक है तो वो इस वजह से काम में आता है कि इसके अंदर जो भी चीज वो सिर्फ इस फू वाले फंक्शन के रिलेटेड ही रहने वाली है तो इसीलिए हर फंक्शन जब भी क्रिएट होता है तो उसके कस्प डब्बा क्रिएट हो जाता है इस तरीके से जब आपने उसके अंदर एक पैराम्स पास किया इस तरीके से यहां पर हम पैराम्स पास कर रहे हैं राइट तो ये जो पैराम्स है यह एक लोकल वेरिएबल की तरह जा रहा है इसके अंदर ठीक है क्योंकि इस पैराम्स को आप इसके अंदर एक्सेस कर सकते हो इस फंक्शन के अंदर तो इट इज आल्सो एक्टिंग लाइक अ लोकल वेरिएबल तो ये वेरिएबल भी यहां पर स्टैक मेमोरी में चला गया है लेकिन यह रेफरेंस किसको कर रहा है तो रेफरेंस इसको कर रहा है इस ऑब्जेक्ट को जो आपने ऊपर पास किया था तो ज आपने फंक्शन कॉल किया था तो आपने इसके अंदर एक ऑब्जेक्ट पास किया था यहां पर एक वेरिएबल क्रिएट हुआ है इस मेमोरी के अंदर पैरेंस लेकिन दिस वेरिएबल स्टिल पॉइंट टू दिस ऑब्जेक्ट तो ये देख ो इस ऑब्जेक्ट को दो वेरिएबल पॉइंट कर रहे हैं और इसलिए मैं कह रहा था कि यह जो ऑब्जेक्ट य दो जगह से यूज हो सकता है क्योंकि यह हीप मेमोरी के अंदर पड़ा हुआ है हीप मेमोरी में रैंडम तरीके से चीजें पड़ी होती है हीप मेमोरी के अंदर से जब आपको चीजें डिलीट करनी होती है तो यह चेक किया जाता है एक गार्बेज कलेक्टर होता है हमारे पास ठीक है गार्बेज कलेक्टर और गार्बेज कलेक्टर का काम सिर्फ हीप मेमोरी के होता ऊपर होता है क्योंकि स्टैक मेमोरी तो वैसे भी शॉर्ट लिफ मेमोरी होती है ये उड़ती रहती है अपने आप ही खाली होते रहते है जैसे जैसे फंक्शन कॉल खत्म होती रहती है वैसे-वैसे उस फंक्शन के रेस्पॉन्डिंग चीजें भी निकलती रहती है मेमोरी में से स्टैक मेमोरी के अंदर गार्बेज कलेक्टर की रिक्वायरमेंट नहीं है हीप मेमोरी के अंदर गार्बेज कलेक्टर आता है वो देखता है कि किसी भी मेमोरी को किसी भी ऑब्जेक्ट को अगर कोई रेफरेंस नहीं कर रहा है स्टैक मेमोरी के अंदर तो उसको हटा दो क्योंकि उसकी जरूरत नहीं है अब फॉर एग्जांपल सपोज करो ये फू वाला फंक्शन खत्म हो गया तो यह पैराम्स वाला पॉइंटर भी खत्म हो गया ठीक है यह पैराम्स रेफरेंस भी निकल गया उसके बाद मेन फंक्शन भी खत्म हो जाएगा कुछ देर बाद राइट मेन फंक्शन में अपना काम करके खत्म हो जाएगा तो फिर इन मेमोरी और ऑब्जेक्ट के पास कोई भी रेफरेंस पॉइंट नहीं कर रहा है तो यह भी मेमोरी में से फिर निकल जाएंगे गार्बेज कलेक्टर पीरियोडिक आता है और चीजों को रिमूव करता रहता है मेमोरी में से तो फॉर एग्जांपल ये और यह अपने आप मेमोरी में से रिमूव हो जाएगा तो यह जावा के अंदर हमें खुद नहीं करना पड़ता ठीक है जावा के अंदर हमें ऑब्जेक्ट को खुद नल सेट नहीं करना पड़ता या फिर डिलीट नहीं करना पड़ता बिकॉज गार्बेज कलेक्टर हमारे लिए वो कर देता है जेडीके के अंदर ऑलरेडी बनाया हुआ इसका सपोर्ट है लेकिन c+ पस वगैरह के अंदर हमें जब भी हम इस तरीके से मेमोरी रेफरेंसेस स्टोर करते हैं तो हमें खुद ध्यान रखना पड़ता है कि हम अपने प्रोग्राम्स को जब टर्मिनेट कर रहे हैं तो चीजों को फ्लश भी कर दें तो इसीलिए आप देखते हो कि कई बार c+ प् के अंदर कुछ कुछ फ्लश वगैरह चीजें लिखी जाती है अ टू क्लियर दिस मेमोरी लेकिन इन जावा वी ऑलरेडी हैव अ गार्बेज कलेक्टर सो वी डोंट नीड दैट तो ये स्टैक मेमोरी का कांसेप्ट और ही कंसेप्ट आथ समझ में आ रहा होगा इसके अलावा एक और लाइन लिखिए जरा उसको भी देख लेते हैं इन दिस लाइन सॉरी इन दिस लाइन लाइन नंबर सेवन आप देखेंगे एक स्ट्रिंग बन रहा है तो इसका जो रेफरेंस है वो अगेन इसी जगह स्टोर होगा स्टैक मेमोरी के अंदर लेकिन ये जो रेफरेंस है यह बन रहा है पम्स डट स्ट्रिंग से तो पम्स क्या है पम्स तो एक्चुअली ये चीज है राइट पम्स तो ये चीज है इसका टू स्ट्रिंग मेथड जो है वो आपको एक स्ट्रिंग लाक देता है ये टू स्ट्रिंग मेथड मैं आपको आज बताऊंगा वैसे तो लेकिन दिस विल गिव दिस विल रिटर्न अ स्ट्रिंग तो क्योंकि एक स्ट्रिंग देता है तो वो स्ट्रिंग कहीं ना कहीं स्टोर होनी चाहिए तो स्ट्रिंग जो होती है स्ट्रिंग के लिए अलग मेमोरी एरिया होता है हिप मेमोरी के अंदर बिकॉज स्ट्रिंग आपकी बहुत ज्यादा बार यूज होती है तो स्ट्रिंग को हम चाहते हैं रीयूज करना बार-बार तो स्ट्रिंग को रीयूज करने के लिए हम उनको स्ट्रिंग पूल एरिया में डालते हैं तो इसीलिए जो स्ट्रिंग है वो यहां पर अलग जगह पर रखी हुई है लेकिन स्टिल द स्ट्रिंग पूल एरिया इज इनसाइड हीप मेमोरी ठीक है तो यह सब चीजें हीप मेमोरी के अंदर होती है तो एक्चुअली आप एक बोल सकते हो कि जो राइट साइड में जो चीजें हैं वो ही मेमोरी में आ रही होती हैं और लेफ्ट साइड से चली चीजें ज्यादातर स्टैक मेमोरी मारी होती है रेफरेंस वाली हमेशा यह केस नहीं होता है फॉर एग्जांपल सपोज करो कोई वेरिएबल है जो इस मेमोरी से बिलोंग करता है इस क्लास से बिलोंग करता है तो जब कोई चीज इस क्लास से बिलोंग करती है तो वह किसी फंक्शन से बिलोंग नहीं करती है राइट तो वो चीज हर फंक्शन के अंदर यूज की जा सकती है फॉर एग्जांपल मैंने यहां पर एक वेरिएबल बनाया इंट आ इ 2 ऐसा करके कुछ बना दिया मैंने अब यह जो आ है यह हर जगह यूज हो सकता है आ इसका नाम जे कर देते हैं तो इस केस में क्योंकि यह जो यह हर फंक्शन से कॉल हो सकता है हर ऑब्जेक्ट मतलब इसके जितने भी ऑब्जेक्ट बनेंगे उन सभी के अंदर जे की एक्सेस होगी तो इसी वजह से उसको हीप एरिया में डाला जाता है तो इतना ज्यादा इंपॉर्टेंट वैसे है नहीं कि क्या स्टैक मेमोरी में जा रहा है क्या हीप मेमोरी में जा रहा है लेकिन यह चीज ना आपको एक चीज बहुत अच्छे से क्लियर कराने वाली है वो यह कि जब आप फंक्शन जब आप कोई भी चीज पास करते हो जावा के अंदर एक फंक्शन के अंदर जब आप कोई चीज पास करते हो तो कौन सी चीज चेंज होगी और कौन सी चीज चेंज नहीं होगी फॉर एग्जांपल हमें पता है अगर मैं एक वेरिएबल पास अब जैसे मैं आपको समझाता हूं य पर लर्न पॉलीमोर्फस नाम की क्लास है लेकिन इसी के अंदर समझ लेना कि सपोज करो यह तो मेरा मेन फंक्शन है और मैंने य पर बना दिया एक लेट्स से वॉइड चेंज वैल्यू और यह ए लेता है इस तरीके से इंट ए लेता है और मैं इस ए की वैल्यू को चेंज करके लेट से कर देता हूं 10 और मैंने शुरुआत में एक बनाया ए और इसकी वैल्यू मैंने कर दी थी फ और मैंने चेंज वैल्यू फंक्शन कॉल कर दिया उसके बाद यह वाले वैसे फंक्शन जो है ये स्टैटिक होना चाहिए तो स्टैटिक वॉइड मैंने चेंज वैल्यू फंक्शन कॉल कर दिया लेकिन फाइव इसलिए प्रिंट हो बिकॉज ये जो चीज है इंट a = 5 ये जो चीज है ये आपकी अ स्टैक एरिया में पड़ी हुई है स्टैक मेमोरी के अंदर है और स्टैक मेमोरी के अंदर है तो इसकी जो वैल्यू है वो भी स्टैक मेमोरी के अंदर है बिकॉज ये प्रिमिटिव टाइप है प्रिमिटिव टाइप्स जो होते हैं वो हीप एरिया में नहीं जाते हीप एरिया में सिर्फ नॉन प्रिमिटिव टाइप जाते हैं या फिर आप कह लो ऑब्जेक्ट जाते हैं ठीक है तो जब अगर ऑब्जेक्ट बनेगा तो वो चला जाएगा हीप एरिया में ऐसे नहीं जाएगा रिया के अंदर अच्छा आप सोचो कि चलो भैया इट नहीं जा रहा तो इंटी जर तो चला जाएगा क्योंकि यह तो ऑब्जेक्ट है इसको तो जाना चाहिए लेकिन जावा के अंदर आपको पता होगा कि एक चीज होती है च इ कॉल्ड ऑटो बॉक्सिंग और अनबॉक्सिंग राइट तो यहां पर जो चीज हो रही है यहां पर बेसिकली आप इसको ऑटो बॉक्स कर दे रहे हो आपने एक इंट को लिया एंड यू आर ऑटो बॉक्सिंग इट इनसाइड ए इंटी जर अल्टीमेटली है तो यह अभी भी एक इंट ही तो यह भी चेंज नहीं करेगा ये भी फ ही रहेगा ठीक है अपनी वैल्यू को नहीं करेगा तो अगर आपको कुछ चेंज करना है अंदर जाकर चेंज वैल्यू करनी है तो इसके लिए आपको अपनी कोई क्लास बनानी पड़ेगी उस क्लास का ऑब्जेक्ट पास करोगे तो वो चेंज हो सकता है वो क्यों होगा बिकॉज उसका बनता तो एक ही है बस रेफरेंस दो बन जाते हैं दो फंक्शन के अंदर तो मैं समझाता हूं एक बार सपोज करो मैंने क्लास बना ली और क्लास है क्लास डाटा इस तरीके से मेरी डाटा क्लास है जिसके अंदर एक इंट डाटा रखा हुआ है इस तरीके से अब मैं क्या करूंगा यहां पर यह तो खैर चेंज नहीं हो रहा है लेकिन मैं एक काम करता हूं यहां पर एक बनाऊंगा डटा डटा इक्व टू न्यू डाटा या फिर डेटा ऑब्जेक्ट एंड देन मैं इस ऑब्जेक्ट का डाटा चेंज कर दूंगा और लेट्स से इस ऑब्जेक्ट का डटा है फाइ यहां पे उसके बाद ये जो चेंज वैल्यू फंक्शन है सपोज करो यह ना इस डाटा को भी लेता है डटा ऑब्जेक्ट एंड देन ये क्या करता है ऑब्जेक्ट डॉट डाटा इसको य चेंज करके कर देता लेट्स से 100 तो जो चेंज वैल्यू फंक्शन इसके अंदर ये ऑब्जेक्ट पास करना पड़ेगा अब अगर मैं यहां पर प्रिंट करता हूं इस ऑब्जेक्ट के डाटा को 100 प्रिंट होगा आप बोलो यहां पर क्यों चेंज हो गया तो वेल होना ही था बिकॉज यह आपका हीप मेमोरी के अंदर और हीप मेमोरी अलग एक जगह पर रखी हुई है इसको समझने के लिए ऐसे समझो कि आपने जब इसको बनाया ना यहां पर जब आपने ऑब्जेक्ट बनाया था तो हीप मेमोरी ये रही ठीक है हीप मेमोरी स करो यहां पर एक्जिस्ट करती है और यह स्टैक मेमोरी यहां पर एक्सिस्ट करती है ठीक है यह आपकी स्टैक मेमोरी है जो आपने ऑब्जेक्ट बनाया तो यह ऑब्जेक्ट यहां बन गया रेफरेंस लेकिन दिस इज पॉइंट टू दिस थिंग राइट यर जो कि यह न्यू डेटा है ठीक है यह डेटा का ऑब्जेक्ट है जिसके अंदर जो डेटा है डेटा फील्ड है वह फील्ड चेंज होगी ठीक है यहां पर लिखना थोड़ा मुश्किल हो जाता है जिसके अंदर डाटा की वैल्यू शुरुआत में आपने सेट कर दी थी पाच इस तरीके से उस इसको जब आपने दूसरा फंक्शन कॉल किया चेंज वैल्यू वाला फंक्शन तो चेंज वैल्यू फंक्शन अपने अंदर अपने आपके खुद के पैरामीटर्स लेके आएगा इस तरीके से ठीक है और इसके अंदर खुद के पैरामीटर्स हैं और इसके अंदर आपने पास किया अगेन एक ऑब्जेक्ट तो इसके अंदर एक ऑब्जेक्ट अगेन बनेगा एंड दिस विल आल्सो पॉइंट टू दिस थिंग ओनली तो अगर आप इसके अंदर कुछ भी चेंज करते हो आप करते हो ऑब्जेक्ट ड डटा = 100 तो आप क्या कर रहे हो एक्चुअली इसी डाटा को चेंज कर रहे हो 5 से 100 इसीलिए जब आप इसमें ऐसे ऑब्जेक्ट पास करते हो तो उसके अंदर आप इंट वैल्यू को चेंज कर सकते हो ठीक है तो फ्यूचर में हम क्वे करेंगे जिसके अंदर हम कई बार चाहेंगे कि अलग-अलग इटरेशन में डाटा जो है वो एक ही कांस्टेंट वेरिएबल का चेंज हो स्टैटिक वेरिएबल का चेंज हो तो उसके लिए बजाय कि आप स्टैटिक वेरिएबल बनाओ आप इस तरीके से कस्टम क्लास बना सकते हो ठीक है अपने खुद की आपने क्लास बना ली इस तरीके से जैसे हमने बनाई है क्लास डाटा जिसके अंदर इंट डाटा आपने पास कर दिया और इंट डाटा पास कर दिया तो यहां पर वो जो डाटा है वह चेंज होता रहेगा ठीक है और जितने भी बार भी आप इसको फर्द अगर किसी और को आपने कॉल किया और उसके अंदर भी आपने य ऑब्जेक्ट पास कर दिया तो सेम ही ऑब्जेक्ट पास हो रहा है बारबार ऑब्जेक्ट नहीं बन रहे है क्योंकि सेम ही ऑब्जेक्ट पास हो रहा है बस रेफरेंसेस अलग-अलग बन रहे हैं तो जब भी वो चेंज करते हैं तो इसी ऑब्जेक्ट को चेंज कर रहे होते हैं इसी वजह से हम कहते हैं कि य ऑब्जेक्ट जब पास करोगे तो वो चेंज हो जा करेगा ठीक है तो आई थिंक अब वो ज्यादा क्लियर हो रहा होगा कि कैसे जावा मेमोरी काम करती है और इसके साथ ये सारी चीजें कैसे काम करती है ठीक है एक बार जरा ब्रीफ में और एक बार देख लेते हैं हीप मेमोरी को तो जावा हीप स्पेस इज यूज्ड बाय जावा रन टाइम टू एलोकेट मेमोरी टू ऑब्जेक्ट एंड जी आरई क्लासेस ववर वी क्रिएट एन ऑब्जेक्ट इट इज ऑलवेज क्रिएटेड्रॉअर्नेविगेटर कहीं से भी किसी भी फंक्शन से किसी भी क्लास से क्योंकि वो ग्लोबल बनता है एक एप्लीकेशन के लिए तो दिस वाज अ हीप मेमोरी लेकिन इसके अलावा हम स्टैक मेमोरी की बात करें जावा स्टैक मेमोरी कंटेंस मेथड स्पेसिफिक वैल्यूज दैट आर शॉर्ट लिव एंड रेफरेंसेस टू अदर ऑब्जेक्ट इन द हीप दैट इज गेटिंग रेफरेंस फ्रॉम द मेथड ठीक है तो यह आपका मेथड स्पेसिफिक अलग बनता है और यह रेफरेंस करता है आपकी हीप मेमोरी को और ये शॉर्ट लिफ्ट होता है शॉर्ट लिफ्ट क्यों क्योंकि ये बस मेथड बनता है और मेथड के साथ ही निकल जाता है जो हीप होता है हीप तब बनता है जब आपका जीआर में प्रोग्राम लोड हो रहा होता है और वहीं से आपका हीप मेमोरी बनना स्टार्ट हो जाती है धीरे-धीरे करके उसके अंदर ऑब्जेक्ट डालते रहते हैं और वो तब बाहर निकलते जब आपका पूरा का पूरा कोड चल के बंद हो चुका है ठीक है और व्हेन एवर मेथड इज इनवुड अ न्यू ब्लॉक इज क्रिएटेडटेड मेमोरी एक अलग ब्लॉक बनता है उस मेथड के रेस्पॉन्डिंग फॉर द मेथड टू होल्ड लोकल प्रिमिटिव वैल्यूज एंड रेफरेंस टू अदर ऑब्जेक्ट्स इन द मेथड एस सून एज द मेथड एंड्स द ब्लॉक बिकम अनयूज एंड बिकम अवेलेबल फॉर द नेक्स्ट मेथड तो जैसे ही वो मेथड खत्म होता है तो वो ब्लॉक भी मेमोरी में से निकल जाता है अनयूजेबल हो जाता है स्टैक मेमोरी साइज इज वेरी लेस कंपेयर्ड टू हीप मेमोरी तो हीप मेमोरी का साइज ज्यादा रखना पड़ता है बिकॉज वो ग्लोबल है स्टैक का कम रखना पड़ता है एक और चीज स्टैक मेमोरी जो होती है वो हर जगह से अवेलेबल होती है तो थ्रेड की अगर आप बात करोगे अगर आप थ्रेड पढ़ोगे तो मल्टीपल थ्रेड्स भी उसको एक्सेस कर सकते हैं इसलिए थ्रेड सेफ नहीं होती है राइट तो होता क्या है थ्रेड का मतलब होता है एक बार में मल्टीपल प्रोसेसेस थ्रेड प्रोसेस छोटी चीज होती है मतलब मल्टीपल चीजें एक्सेस कर रही है मेमोरी को एक साथ ठीक है पैरेलल में तो क्योंकि थ्रेड्स ये ग्लोबल होती है तो ये थ्रेड सेफ नहीं होती है तो मल्टीपल थ्रेड एक साथ में जैसे करो सपोज करो थ्रेड t1 आया एक और एक थ्रेड t2 आया दोनों के दोनों चाहे तो एक साथ एक्सेस कर सकते हैं अब ये थ्रेड मैं आपको समझाऊ नहीं अभी लेकिन थ्रेड बस ये समझ लो कि एक तरीके से पैरेलल एग्जीक्यूशन का तरीका है कि आपने दो थड बना दि t1 और t2 और ये दोनों दोनों पैरेलल में एक काम कर सकते हैं कोई भी काम तो ये दोनों के दोनों सेम काम कर सकते हैं एक ऑब्जेक्ट के ऊपर एक ही साथ मतलब एक ही टाइम प पैरेलल में ये नहीं कि पहले t1 करेगा फिर t2 करेगा वो थ्रेड होते हैं तो यह थ्रेड सेफ नहीं होती है वहीं पर स्टैक मेमोरी जो होती है वो थ्रेड सेफ होती है बिकॉज हर थ्रेड अपने लिए एक अलग स्टैक बनाता है हर थ्रेड का अपना खुद का स्टैक होता है तो जो अंदर वाली जो स्टैक मेमोरी होती है तो हर थ्रेड क्योंकि अपने लिए अलग चीजें बनाता है तो वो अलग मेमोरी भी बनाएगा तो उसके लिए एक थ्रेड दूसरे थ्रेड में घुसेगा ही नहीं तो ऑलरेडी स्टैक मेमोरी वाली चीजें थ्रेड सेफ होती है तो इनके अंदर तो सिंक्रोनाइजेशन की जरूरत नहीं पड़ती आपको लेकिन अगर आप हीप मेमरी में कुछ ऑब्जेक्ट बना रहे हो तो उनके अंदर प्रॉपर सिंक्रोनाइजेशन आपको खुद करना पड़ेगा लॉक वगैरह लगाने पड़ेंगे ठीक है तो थड इंशन की जरूरत पड़ती है हमारे हीप मेमोरी के अंदर दिस वाज अबाउट हीप मेमोरी एंड स्टैक मेमोरी वैसे तो बहुत ज्यादा इंपोर्टेंट नहीं है लेकिन पता रहना चाहिए आपको क्योंकि अब हम आगे मूव करेंगे और अगर कभी मैं कस्टम क्लासेस पास कर रहा हूं ऑब्जेक्ट के अंदर तो वहा देख पता चलना चाहिए कि हां कौन सी जगह पर चीजें चेंज होगी कौन सी जगह पर चीज चेंज नहीं होंगे ठीक है इसके साथ हम आगे मूव करेंगे और जावा क्लास की बात करेंगे ये थोड़ा ज्यादा इंपोर्टेंट है ऑब्जेक्ट क्लास इज प्रेजेंट इन जावा डल ड पैकेज मैंने आपको बताया था कि हर जब हम इटल्स पढ़ रहे थे कि हर क्लास के ऊपर एक पेरेंट क्लास होती है ठीक है अगर आपने कोई क्लास नहीं भी बनाई पेरेंट क्लास तो उसके ऊपर एक ऑब्जेक्ट क्लास तो होगी ही होगी तो वही इसकी सेम कांसेप्ट है ऑब्जेक्ट क्लास बेसिकली सबसे टॉप में बैठती है जावा के अंदर अगर आपने कोई भी क्लास बनाई सपोज करो कार क्लास बनाई आपने तो यही कांसेप्ट होता है कि ऑब्जेक्ट क्लास तो सबसे ऊपर रहेगी ही रहेगी ऑब्जेक्ट क्लास के ऊपर फिर फरदर और कोई क्लास नहीं होती ठीक है अगर आपने कोई भी क्लास नहीं फॉर एग्जांपल सपोज करो कार क्लास में नहीं आपने तो कार क्लास एक्सटेंड करेगी ऑब्जेक्ट क्लास को अपने आप ही इन्हेरेंटली अपने आप ही कर लेगी ठीक है और फिर ऑब्जेक्ट क्लास के अंदर जितने भी मेथड्स होते हैं वो सब के सब कार क्लास के अंदर आ ही जाएंगे उसके बाद ठीक है तो ऑब्जेक्ट क्लास कुछ मेथड लेके आता है अपने साथ जो भी हम देखेंगे तो वो मेथड अपने आप ही कार क्लास के जितने भी ऑब्जेक्ट होंगे उनके पास आ जाएंगे बिकॉज सारी की सारी क्लासेस चाहे कितनी भी क्लासेस आप बना लो कार बना लिया आपने एनिमल क्लास बना लिया आपने या फिर सपोज करो कार क्लास के अंदर आपने एक अलग क्लास बना ली नॉन फाइनल होते हैं व्हिच कैन बी ओवर रिटन एंड यू ओवरराइड दोस मेथड्स टू सॉल्व डिफरेंट काइंड ऑफ प्रॉब्लम्स तो जरा वो देखते हैं तो कौन-कौन से मेथड्स अपने अंदर लेके आता है ये ऑब्जेक्ट क्लास पहले तो ऑब्जेक्ट क्लास क्या होता है एवरी क्लास इन जावा इज डायरेक्टली और इनडायरेक्टली डराइड फ्रॉम द ऑब्जेक्ट क्लास इफ अ क्लास डज नॉट एक्सटेंड एनी अदर क्लास देन इट इज डायरेक्ट चाइल्ड ऑफ अ ऑफ द ऑब्जेक्ट क्लास एंड इफ इट एक्सटेंड्स अनदर क्लास देन इट इज इनडायरेक्टली डराइड वही जो चीज मैंने आपको बताई कि अगर कोई क्लास एक्सटेंड नहीं कर रही किसी और फर्द क्लास को तो वो ऑब्जेक्ट क्लास को डायरेक्टली एक्सटेंड कर रही है जैसे क्लास और कार क्लास और अगर कोई क्लास किसी और क्लास को एक्सटेंड कर रही है तो वो इनडायरेक्टली एक्सटेंड कर रही है ऑब्जेक्ट क्लास को अच्छा जरा इनके मेथड्स देख लेते हैं एक बार ऑब्जेक्ट क्लास के तो कुछ कुछ मेथड जैसे कि गेट क्लास तो फाइनल मेथड है इसको आप ओड नहीं कर सकते दिस इज यूज टू गेट अ क्लास की ये ऑब्जेक्ट किस क्लास का है हैश कोड आप ओवरराइड करते हो वेट आप यूज नहीं करोगे मैं बता देता हूं कौन सा कौन सा हम यूज नहीं करेंगे क्योंकि ये सब थ्रेड में यूज होगा तो यह आप यूज नहीं करोगे ये मैं बताऊंगा भी नहीं फाइनलाइज आपका गार्बेज कलेक्टर देख रहा होता है नोटिफाई ए नोटिफाई ल ये दोनों दोनों आपके अगेन थ्रेड के साथ यूज किए जाते हैं इक्वल्स हम देखेंगे क्लोन भी चलो देख लेंगे गेट क्लास भी देख लेंगे यह और यह देख लेंगे ठीक है यह सार सारे मेथड एक करके देखते हैं कि क्या काम होता है इनका और किस तरीके से आप इन्ह यूज कर सकते हो तो मैं एक करके दिखाता हूं आपको तो यहां पर आते हैं न्यू क्लास लर्न चक क्लास तो ये हमारी ऑब्जेक्ट राइट मतलब ये नर्मल क्लास है एक मैंने क्लास बना दी लेट से क्लास कार और इसके अंदर मैंने बना दिया लेट से स्ट्रिंग मॉडल और एक बना दिया मैंने इंट ईयर कि किस ईयर मैन्युफैक्चर हुई थी य ये दो चीज बना दी मैंने एक क्लास के अंदर तो सबसे पहले एक एक करके चीज देखते सबसे पहले मैं बात कर लेता हूं टू स्ट्रिंग मेथड की तो जब आप इस क्लास का कोई कंस्ट्रक्टर बनाओगे सपोज करो यहां मैंने कंस्ट्रक्टर बनाया कंस्ट्रक्टर बनाने के लिए आप क्या कर सकते हो राइट क्लिक करोगे एंड देन यू कैन गो टू जनरेट वैसे मैं जनरेट करके नहीं बताता पहले मैं ऐसे बता देता हूं आपको क्या करना होता है पब्लिक पहले बिना टू स्ट्रिंग मेथड के देखते हैं क्या होता है मैं यहां पर कार क्लास का ऑब्जेक्ट बनाने वाला हूं तो अच्छा उसके लिए मैं यहां पर कंस्ट्रक्टर बना लेता हूं पब्लिक कार जिसके अंदर आप पास करोगे स्ट्रिंग मॉडल एंड देन इंट ईयर एंड देन आप बोलोगे दिस मॉडल इक्व टू मॉडल एंड देन दिस डॉट यर इक्व टू यर य हमारी कार क्लास का कंस्ट्रक्टर है और अगर आपको अपनी कार क्लास का ऑब्जेक्ट बनाना है कार ऑब्जेक्ट इक्वल टू न्य कार तो इसके अंदर आपको मॉडल पास करना पड़ेगा लेट से होंडा पास कर देते हैं देन 2022 पास कर देते हैं एंड देन जब मैं इसको प्रिंट कराऊंगा इसको मेन क्लास के अंदर मेन फंक्शन के अंदर नहीं डाल रहा था मैं राइट मेन फशन बनाना जरूरी है इसके लिए ना तो पब्लिक स्टैटिक वॉइड मेन अब काम कर जाएगा वो तो सबसे पहले हमने कार क्लास ऑक्ट बना लिया उसके बाद एस आउट अब काम कर गया ना ऑब्जेक्ट तो जब इसे हम प्रिंट करेंगे तो यह क्या करेगा ना ये ऑब्जेक्ट को प्रिंट करने का ट्राई करेगा लेकिन क्योंकि आपने बताया नहीं कि आप ऑब्जेक्ट कैसे प्रिंट होना चाहिए तो जावा के अंदर एक डिफॉल्ट प्रिंटिंग का तरीका होता है चच इ लाइक दिस जिसके अंदर आप बता जावा बताता है कि यह जो क्लास है इस ये ऑब्जेक्ट है इसकी क्लास सी है तो यह क्लास है यह वाली जावा उप्स लाइव एंड जावा मेमोरी यह आपका बेसिकली पैकेज है इस पैकेज के अंदर यह वाली क्लास है डॉट कार तो इस तरीके से ये मिलता है एंड देन रेट करने के बाद एक रेफरेंस मिलता है टू दिस ऑब्जेक्ट तो दिस इज जस्ट अ रेफरेंस टू दिस ऑब्जेक्ट और यह चेंज हो सकता है मतलब जरूरी नहीं है कि बार-बार चेंज हो अलग-अलग प्रोग्राम्स के मतलब अलग-अलग कंप्यूटर के अंदर चलाऊंगा मैं बार-बार तो अलग-अलग जगहो पर चेंज होता रहेगा यह तो यह था लेकिन आप चाहो तो इसको चेंज कर सकते हो तो होता क्या है ना जब भी आप ऑब्जेक्ट ऐसे पास करते हो टू सिस्टम ड आड प्रिंटन मेथड के अंदर तो जावा अपने आप इसका टू स्ट्रिंग मेथड कॉल कर देता है ठीक है जो टू स्ट्रिंग मेथड कहां से मिला इसे टू स्ट्रिंग मेथड मिल रहा है इसे ऑब्जेक्ट क्लास से ठीक है आपने देखा ऑब्जेक्ट क्लास के अंदर ये ऑब्जेक्ट क्लास है इसके अंदर एक टू स्ट्रिंग मेथड भी होता है और क्योंकि हमारी जो कार क्लास है वो डायरेक्टली या इनडायरेक्टली इस केस में तो डायरेक्टली ऑब्जेक्ट क्लास को एक्सटेंड कर रही है तो इसके पास भी टू स्ट्रिंग मेथड आ गया है अपने आप ही जो कि आपने बनाया नहीं लेकिन अपने आप आ गया टू स्ट्रिंग मेथड और ये देखो यहां पे ये मेरे को बोल रहा है फेड करके कि भाई इसको लिखने की जरूरत बिकॉज ऑलरेडी सिस्टम ड आड प्रिंट क्या करेगा अपने आप ही टू स्ट्रिंग मेथड ही कॉल करने वाला है व यहां पर तो आप अगर नहीं भी लिखोगे तब भी वो टू स्ट्रिंग मेथड कॉल करने वाला है लेकिन आप चाहो तो लिख दो फर्क नहीं पड़ता है अभी भी सेम ही चीज प्रिंट होने वाली है अगर मैं टू स्ट्रिंग लिखूंगा तब भी आप देखेंगे कि अगेन यह हमारी क्लास को प्रिंट किया इसने उसके बाद ऑब्जेक्ट का रेफरेंस प्रिंट कर दिया तो आप चाहो तो इस टू स्टिक मेथड को ओवरराइड कर सकते हो ठीक है और वो हमें करना चाहिए तो आप चाहो तो यहां पर आओगे पब्लिक और स्ट्रिंग क्योंकि स्ट्रिंग रिटर्न करता है और इस टू स्ट्रिंग मेथड का काम क्या होता है टू स्ट्रिंग मेथड बेसिकली किसी भी ऑब्जेक्ट को एक ह्यूमन रीडेबल स्ट्रिंग फॉर्मेट में कन्वर्ट कर देता है बस यही काम होता है इसका तो पब्लिक स्ट्रिंग टू स्ट्रिंग और उसके बाद आप जिस भी तरीके से चाहो उस तरीके से आप एक स्ट्रंग रिटन कर सकते हो फर एपल लेट ऐसे कर दो आप कि कार का मॉडल य पर जाएगा मॉडल एंड यर इज यर तो आपने यह स्ट्रिंग रिटर्न कर द सपोज करो ठीक है तो अब अगर मैं इसको रन करूंगा तो देखो क्या होगा इसलिए प्रिंट किया कार का मॉडल होंडा एंड ईयर 2022 और अगर मैं इस टू स्ट्रिंग को यहा से हटा भी दूंगा टू प्रूव यू कि यह अभी भी टू स्ट्रिंग मेथड ही कॉल करने वाला है यहां पर देखो मैंने टू स्ट्रिंग मेथड हटा दिया लेकिन कार का मॉडल h एंड 2022 प्रिंट हो रहा है ठीक है तो टू स्ट्रिंग म का काम क्या होता है बेसिकली समझ में आ गया होगा किसी भी ऑब्जेक्ट को एक स्ट्रिंग रिप्रेजेंटेशन देना सो दैट कोई भी ह्यूमन पढ़ सके उसे कभी भी प्रिंट कराके पढ़ना चाहे तो और क्योंकि य ओवर डन मेथड है तो आप इसके अंदर चाहो तो टट ओवरराइड लगा सकते हो ट द रेट ओवरराइड बेसिकली जावा को बता देता है कि यह मेथड ओवर डन है तो अगर आप इसमें स्पेलिंग मिस्टेक करते हो क्योंकि आप बनाने को तो खुद का मेथड भी बना सकते राइट टू स्ट्रिंग या फिर टू माय स्ट्रिंग वगैरह जो मर्जी आप बना सकते हो यहां पर अब टू माय स्ट्रिंग बनाया तो यहां पर आपको ऑब्जेक्ट डॉटू माय स्ट्रिंग लिखना पड़ेगा खुद से क्योंकि टू स्ट्रिंग लिखोगे तब तो कॉल नहीं होगा लेकिन अगर आप टट ओवरराइड लगा दोगे तो इससे जावा चेक करेगा भाई कि यह जो टू माय स्ट्रिंग है यह किस क्लास के अंदर प्रेजेंट है क्या इसकी पीरियन क्लास में प्रेजेंट है अगर नहीं तो क्या उसकी पेरेंट क्लास में प्रेजेंट है नहीं तो क्या उसकी पेरेंट क्लास में प्रेजेंट है एंड सो ऑन तो देखिएगा टू माय स्ट्रिंग तो कहीं भी प्रेजेंट नहीं है लेकिन टू स्ट्रिंग मेथड तो प्रेजेंट है इनसाइड द ऑब्जेक्ट क्लास ठीक है तो वहां पर जाके वो रुक जाता है चेक करना तो इस तरीके से हमारा टू स्टिंग काम करता है इसके अलावा एक और चीज होती है विच इज कॉल्ड इक्वल्स तो मैं पहले आपको जो इंपोर्टेंट है ना मोस्ट इंपोर्टेंट वो बता देता हूं इसके अलावा एक चीज होती है विच इज कॉल्ड इक्वल्स जो कि चेक करने में काम में आता है कि कोई भी दो ऑब्जेक्ट इक्वल है या नहीं है तो होता क्या बाय डिफॉल्ट जावा के अंदर जो इक्वल्स जो डबल इक्वल वाला जो होता है मैं आपको बताता हूं कैसे कि सपोज करो आपने एक कार ऑब्जेक्ट बनाया इस तरीके से उसके बाद आपने एक और ऑब्जेक्ट बनाया ऑब्जेक्ट टू ठीक है सपोज करो दिस इज ऑब्जेक्ट वन और ऑब्जेक्ट टू भी आपने बनाया और सपोज करो ऑब्जेक्ट टू जो है वो आपने सेम इसी तरीके से बना दिया जिसके अंदर अगेन कार मेमोरी के अंदर हीप मेमोरी के अंदर दो अलग-अलग ऑब्जेक्ट्स बने हैं इस टाइम प कार ग्लास के अब अगर आपको चेक करना है कि ये दोनों के दोनों सेम है कि नहीं है जो कि आपको दिख रहा है कि यार ये तो सेम होने चाहिए बिकॉज यहां पर फॉल्स प्रिंट हुआ फॉल्स इसलिए प्रिंट हुआ क्योंकि ये दोनों के दोनों सेम रेफरेंस नहीं है ठीक है अगर ये दोनों दोनों सेम ही ऑब्जेक्ट को पॉइंट कर रहे होते सेम रेफरेंस को पॉइंट कर रहे होते हैं मतलब सेम हीप के अंदर तब तो सेम मान लिए जाते लेकिन क्योंकि दोनों अलग-अलग हीप के अंदर अलग-अलग मेमोरी को पॉइंट कर रहे इसीलिए सेम नहीं है ये आई थिंक ये चीज मैं आपको ऑलरेडी बता चुका हूं एक बार तो अगर आपको जावा के अंदर ऐसा कुछ चाहिए कि नहीं भाई जिसका मॉडल और यर सेम है वो तो सेम होने चाहिए चाहे वो कहीं से भी आए ऑब्जेक्ट हो सकता है आपके पास एक ऑब्जेक्ट यहां से आया एक ऑब्जेक्ट किसी और फंक्शन से आया एक ऑब्जेक्ट लिस्ट से आ रहा है लेकिन आप चेक करना चाहते हो कि दोन सेम है कि नहीं और सेम करने के लिए आपका क्राइटेरिया क्या है आप चाहते हो कि अगर मॉडल और यर सेम है तो इसका मतलब सेम है ये ठीक है ऐसा कुछ लॉजिक अगर आप लिखना चाहते हो तो उसके लिए आपको एक इक्वल्स मेथड बनाना पड़ेगा ठीक है तो आप यहां पर आओगे एक इक्वल्स मेथड बनाओगे जो कि रिटर्न करेगा पब्लिक बुलियन यह रिटर्न करेगा ट्रू या फाल्स इसका नाम होगा इक्वल्स और ये इक्वल्स मेथड भी कहां से आ रहा है आप देखोगे ऑब्जेक्ट ही आ रहा है ये ऑब्जेक्ट क्लास है आपके पास एंड दिस इज द इक्वल्स मेथड राइट ये ऑब्जेक्ट क्लास ही आ रहा है हमारे पास और इसके अंदर आप एक दूसरा ऑब्जेक्ट पास करोगे ऑब्जेक्ट दैट नाम रख देता हूं मैं इसका इसमें कोई और ऑब्जेक्ट पास किया है मैंने और यह बताएगा कि वो ऑब्जेक्ट इस दिस ऑब्जेक्ट के इक्वल है कि नहीं है दिस ऑब्जेक्ट मतलब ये जो करंट ऑब्जेक्ट है ठीक है जिसके साथ आप कंपेयर करने का ट्राई कर रहे हो किसी और ऑब्जेक्ट को तो अगर ये ट्रू रिटर्न कर देता है तो मतलब दोनों इक्वल है अगर ये फॉल्स रिटर्न करता है तो मतलब इक्वल नहीं है तो आप यहां पर चेक लगा सकते हो कि इफ दिस डॉट मॉडल इक्वल्स टू ट डॉट मॉडल ठीक है तो पहले तो दैट को हमें कन्वर्ट करना पड़ेगा अपने कार के अंदर तो यहां पर हम करेंगे टाइप कास्टिंग तो कार यहां पर ऑब्जेक्ट ही कर देता हूं ऑब्जेक्ट और कार दैट इक्वल टू कार ऑब्जेक्ट तो इस तरीके से मैं जावा को बता रहा हूं कि भाई सुनो ये जो ऑब्जेक्ट है ना ये कार का ही है टेंशन मत लो इसे एक्सप्लीसिटली टाइप कास्ट कर रहे हैं इस तरीके से और इफ दिस डॉट मॉडल इ इक्वल टू ट डॉट मॉडल और साथ में दिस डॉट यर इक्वल टू ट डॉट यर तो रिटर्न कर दो ट्रू अदर वाइज रिटर्न कर दो रिटर्न कर दो फाल्स तो यहां पर मैंने बहुत ही बेसिक सी इंप्लीमेंटेशन लिख इक्वल्स मेथड की लेकिन एक्चुअल इंप्लीमेंटेशन मतलब आपको थोड़ी और चीजों का भी ध्यान देना चाहिए इक्वल्स मेथड के अंदर जो मैं अभी आपको बताऊंगा लेकिन ये बहुत बेसिक इंप्लीमेंटेशन और यह बता रही है कि दो कार इक्वल तब होंगी जब उनका मॉडल बराबर हो और साथ में यर बराबर हो दोनों चीजें बराबर होंगी तो आप बोल सकते हैं कि वो दोनों बराबर है अच्छा यहां पे ये इक्वल लगाने से मेरे को मना कर रहा है बिकॉज जो मॉडल है वो एक स्ट्रिंग है और स्ट्रिंग के अंदर भी आपको ऐसे इक्वल नहीं लगाना चाहिए ये तो हमने देखा था स्ट्रिंग के अंदर आपके पास इक्वल्स मेथड होता है वो इक्वल्स मेथड आई थिंक समझ में आ रहा होगा कि वो इक्वल्स मेथड कहां से आ रहा है वो इक्वल्स मेथड अगेन आपका ऊपर से ही आता है ऑब्जेक्ट क्लास आ रहा है स इफ दिस डॉट मॉडल इज इक्वल टू दैट डॉट मॉडल एंड साथ में जो यर है यर तो आपका इंट है तो इसके अंदर आप डबल इक्वल टू के साथ चेक कर सकते हो बिकॉज ट इज नॉन प्रिमिटिव डेटा टाइप तो ये इस तरीके से समझ सकते हो कि आप अगर नॉन प्रिमिटिव डेटा टाइप को चेक करना चाहते हो कि दो नॉन प्रिमिटिव डेटा टाइप बराबर है कि नहीं है तो उसके लिए आप ऐसे चेक नहीं करोगे उसके लिए आप इक्वल्स मेथड से चेक करोगे तो अब आप क्या करोगे ऑब्जेक्ट वन डॉट इक्वल्स ऑब्जेक्ट टू तो क्योंकि मैंने इक्वल्स मेथड को ओवरराइड कर दिया है तो इस बार अ चेक किया जाएगा कि अगर दोनों के दोनों सेम मॉडल और यर क्या है तो सेम माने जाएंगे तो पहले तो यह फॉल्स प्रिंट हो रहा था अब अगर मैं इसको रन करूंगा तो आप देखोगे यहां पे इस बार यह ट्रू प्रिंट होना चाहिए और ट्रू ही प्रिंट हो रहा है यह ट्रू प्रिंट क्यों हुआ तो आप जा सकते हो इस इक्वल्स मेथड के पास राइट कमांड क्लिक करके या फिर कंट्रोल क्लिक करके जा सकते हो और आप यहां पर देख सकते हो कि आपने आपके ऑब्जेक्ट वन ने कॉल किया ऑब्जेक्ट टू के लिए ठीक है ऑब्जेक्ट 1 डॉ इक्व ऑब्जेक्ट 2 राइट यही कॉल किया मैंने तो ऑब्जेक्ट वन तो मेरा दिस वाला ऑब्जेक्ट हो गया और और दैट वाला ऑब्जेक्ट हो जाएगा मेरा ऑब्जेक्ट टू तो ऑब्जेक्ट वन ने कॉल किया ऑब्जेक्ट टू के लिए तो पहले तो आपने ऑब्जेक्ट टू को कन्वर्ट कर दिया कार के अंदर ही उसके बाद आप ऑब्जेक्ट वन का मॉडल चेक कर रहे ऑब्जेक्ट टू के साथ उसके साथ ही ऑब्जेक्ट वन का यर चेक कर रहे हो ऑब्जेक्ट टू के साथ अगर दोनों बराबर है तो ट्रू अदर वाइज फॉल्स फॉर एग्जांपल सपोज करो इसका होंडा मॉडल है लेकिन यर 2021 है तो इस केस में य दोनों के दोनों बराबर नहीं होंगे तो यहां पर हमें फॉल्स मिलने वाला है ठीक है तो ये इस तरीके से आप अपनी इंप्लीमेंटेशन बताते हो और सिर्फ आप ही नहीं अगर आपको इंप्लीमेंट कर करना है हैशसेट जिसके अंदर डुप्लीकेट्स अलाउ नहीं होते हैं तो उस हैशसेट के अंदर भी इस इक्वल्स मेथड को यूज़ किया जाता है जावा इंटरनली यूज़ करता है टू चेक कि ऑलरेडी कोई इक्वल अ ऑलरेडी कोई सेम चीज तो नहीं डली हुई है बिकॉज़ डुप्लीकेट अलाउड नहीं होते वहां पे तो इक्वल्स मेथड का जेडीके बहुत ज्यादा यूज़ करता है हैली और आप भी यूज़ कर सकते हो इसका बाय ओवरराइडिंग इट इन योर ओन वे एक चीज और क्योंकि आप इंटेलीज में काम कर रहे हो तो इंटेलीज आपके लिए थोड़ी सी अ कोड खुद लिख के देता है तो यह वाला तो मेरा इक्वल्स का इंप्लीमेंटेशन था जिसको मैं यहां पे कमेंट कर देता हूं और आप चाहो तो इंटेलिजेंस से भी लिखवा सकते हो अपना इक्वल्स का इंप्लीमेंटेशन तो करना क्या है कमांड एन या कंट्रोल ए करना है यहां पर या फिर आप राइट क्लिक करके भी जा सकते हो इधर जनरेट के ऊपर और उसके बाद आप यहां पर बता दो इक्वल्स अच्छा इक्वल्स सीधा नहीं करता इक्वल्स के साथ-साथ इसको हैश कोड भी जनरेट करने को बोलता है ये तो एक बार आप हैश कोड मेथड भी देख ही लेते हैं देख र यहां से काफ सारी चीज जनरेट कर सकते हैं आपको सेही कंस्ट्रक्टर भी जनरेट कर सकते हो टू स्ट्रिंग वाला भी मेथड जनरेट कर सकते हो तो जो टू स्ट्रिंग मेथड पर क्लिक किया तो इसमें बता दो कि क्याक चीज प्रिंट होनी चाहिए तो मैं बता दूंगा कि मॉडल और यर प्रिंट होना चाहिए ओके किया मैंने तो देखो इसने यह वाली इंप्लीमेंटेशन करके दे दी मुझे खैर मैंने भी नीचे खुद का बनाया था मैंने लिखा था कार का मॉडल इसने ऐसे बना दिया कार मॉडल और यर तो यह इंटेलीज की खुद की इंप्लीमेंटेशन है यह देख के चौंकना मत जाता अब देखो मैं हैश कोड इंप्लीमेंट करके दिखाता हूं आपको हैश कोड कैसे इंप्लीमेंट होता है अ पब्लिक इंट हैश कोड रेट ओवरराइड लगाते हैं इसके ऊपर भी तो होता क्या है कि हर क्लास के पास एक हैश कोड मेथड भी होता हर ऑब्जेक्ट के पास एक अपना हैश कोड होता है जिसकी हेल्प से जावा डिस्टिंग्विश करता है कुछ कलेक्शन फ्रेमवर्क के अंदर बेसिकली काम से कलेक्शन फ्रेमवर्क के अंदर ही आता है जब आप हैशसेट बना रहे होते हो या फिर शश मै बना रहे होते हो तो वहां पर हर एक ऑब्जेक्ट का एक अपना एक यूनिक कोड होता है जितने भी ऑब्जेक्ट बन रहे हैं उनका एक यूनिक कोड होता है जिससे कि डिनोट किया जाता है कि कोई ऑब्जेक्ट यूनिक है कि नहीं है ठीक है तो दो कार अलग-अलग कैसे हैं क्योंकि उनका हैश कोड अलग-अलग है और साथ में दो कार इक्वल क्यों है क्योंकि इक्वल्स मेथड ट्रू लाके दे रहा है तो एक तरीके से हैश कोड और इक्वल्स का अपना एक कांट्रैक्ट भी होता है जो कि कई बार इंटरव्यू के अंदर पूछ लेते हैं कि व्हाट इज द कांट्रैक्ट ऑफ हैश कोड एंड इक्वल्स तो इसका बस एक सिंपल सी एक लाइन बोलनी है आपको कि दो ऑब्जेक्ट अगर वह सेम है तो उनका इक्वल्स मेथड सेम लाके देगा और दो ऑब्जेक्ट अगर सेम है तो उनका हैश कोड भी सेम होना चाहिए दिस इज द कांट्रैक्ट बिहाइंड हैश कोड एंड इक्वल्स तो आपको अपने कोड और इक्वल्स को इस तरीके से बनाना चाहिए सो दैट आपके अगर दो ऑब्जेक्ट बन रहे हैं तो अगर उनका इक्वल्स ट्रू लाके देता है तो उनका हैश कोड भी बराबर होना चाहिए हैश कोड बेसिकली एक तरीके से एक आइडेंटिटी होती है यूनिक आईडी होती है हर एक ऑब्जेक्ट की यहां पर मैंने दो कार के ऑब्जेक्ट बनाए हैं इन दो कार की यूनिक आईडी आप बना सकते हो और वो इंट आईडी होगी ठीक है इंटी जर आईडी होगी वो सिर्फ जैसे यहां पर देखो यह पब्लिक इंट हैश कोड तो इसके अंदर बेसिकली क्या होगा यह जो ऑब्जेक्ट बन रहा है दिस ऑब्जेक्ट जो है उस ऑब्जेक्ट का हैश कोड आप जनरेट कर सकते हो अब ये जो हैश कोड जनरेट करने का तरीका है यह बहुत डिफरेंट डिफरेंट तरीके से वैरी करता है आप बेसिकली चाहते हो कि इसके अंदर कम से कम कोलिजन है बेसिकली दो ऑब्जेक्ट अगर अलग-अलग है तो उनका हैश कोड ज्यादा से ज्यादा टाइम अलग-अलग आए यह आप ज्यादा से ज्यादा ट्राई करने का मतलब या आप ज्यादा से ज्यादा ट्राई करते हो वरना तो हैश कोड बेकार है राइट अगर मैंने दो ऑब्जेक्ट बनाए और दोनों का हैश कोड बराबर आ गया तो उसे हम कहते हैं कोलिजन अगकर हो गया है वैसा आप कम से कम चाहते हो आप हमेशा चाहते हो कि दो ऑब्जेक्ट बन रहे है तो उनका हैश कोड अलग-अलग जनरेट हो फॉर एग्जांपल इसके लिए मैं यहां पर कुछ कुछ हैक्स लगा सकता हूं फॉर एग्जांपल लेट से मैंने यहां पर बना दिया एक इंट इनिशियल नंबर इक्वल टू कुछ भी एक यूनिक कुछ भी आप यहां पर एक प्राइम नंबर रख सकते हो फॉर एग्जांपल लेट्स से 31 रख लेते हैं इनिशियल नंबर उसके बाद मेरा हैश कोड मैंने बोल दिया कि भाई मॉडल और ईयर दो चीजों पर डिपेंड करेगा ये तो मैं क्या करूंगा इस इनिशियल नंबर के अंदर पहले तो ऐड कर दूंगा इक्वल्स टू ईयर को ठीक है तो अगर ईयर अलग अलग होंगे तो इनिशियल नंबर भी चेंज हो जाएगा और इनिशियल नंबर प्लस इक्व टू मैं मॉडल को भी ऐड कर दूंगा इसके अंदर तो मॉडल डॉट हैश कोड तो मॉडल क्योंकि एक स्ट्रिंग है तो इसके अंदर हैश कोड अपने पर मुझे मिलता है ठीक है एंड देन मैं इसको रिटर्न कर दूंगा इस इनिशियल नंबर को तो इससे क्या होगा इससे आप कह सकते हो कि अगर यर और मॉडल अलग अलग है दो चीजों के तो उनका हैश कोड भी अलग-अलग जनरेट होगा ठीक है तो हैश कोड बेसिकली एक नंबर है कैसे भी तरीके किसी भी तरीके से आप उस नंबर को जनरेट कर सकते हो मेरा जनरेट करने का तरीका ये है एंड दिस अकॉर्डिंग टू मी विल मेक श्यर कि दो चीजें अलग-अलग होंगी अगर उनका हैश कोड अलग-अलग है तो फॉर एग्जांपल जैसे ये दो चीजें हैं इनका मैं हैश कोड निकालना चाहता हूं तो मैं क्या करूंगा इनका ऑब्जेक्ट वन का हैश कोड प्रिंट कराता हूं आपको पहले तो इसके साथ ही ऑब्जेक्ट टू का हैश कोड प्रिंट कराता हूं मैं आपको तो आप देखोगे दोनों के दोनों हैश कोड अब अलग लगाने वाले हैं बिकॉज दोनों के दोनों अलग-अलग हैं एक्चुअली देख रहे हो इसका आया ये 273 इसका आया 272 इसकी कैलकुलेशन अगर आपको करनी है तो आप इसकी कैलकुलेशन यहां से जाके कर सकते हो कि आपने पहले 31 के अंदर ऐड किया ईयर को ईयर व्हिच इज 2022 उसके बाद आपने मॉडल में ऐड किया हैश कोड को सॉरी उसके बाद आपने मॉडल का हैश कोड ऐड किया अब मॉडल का हैश कोड कैसे निकला है तो मॉडल इज अ स्ट्रिंग स्ट्रिंग का हैश कोड निकालने का तरीका आपना खुद का होता है जावा का ठीक है वो भी इसी तरीके से निकालता है कुछ-कुछ मैं एक्चुअली आपको बताऊंगा स्ट्रन का हैश कोड कैसे निकाला जाता है जब मैं आपको हैश पढ़ा रहा हूंगा क्योंकि शशि एक इंपोर्टेंट कांसेप्ट होता है तो उस टाइम पे मैं आपको समझाऊं कि स्ट्रिंग का हैश कोड कैसे निकाला जाता है अ जरूरी नहीं कि उसी मेथड को यूज़ कर रहा हो जावा भी मतलब आप जेडी के साथ-साथ में भी अपडेट करते रहे वो लेकिन मैं उस टाइम पे अपडेटेड मेथड आपको बता दूंगा बट यहां पर देख रहे हो दो चीजों के अलग-अलग हैश कोड आ रहे हैं एक चीज और भी खास बात होती है हैश कोड की वो ये कि अ एक ऑब्जेक्ट का हैश कोड हमेशा सेम ही आएगा तो ऑब्जेक्ट वन का हैश कोड आप जितनी मर्जी बार कॉल कर लेना वो सेम ही आएगा और वो दिख भी रहा है सेम ही आएगा बिक सेम ही फंक्शन कॉल कर रहा है सेम ही पैरामीटर्स के साथ तो ओबवियसली सेम ही आना चाहिए राइट तो इस तरीके से वो सेम आएगा तो हैश कोड और इक्वल्स का कांट्रैक्ट भी आपको समझ में आ जाना चाहिए वो ये मैं दोबारा रिपीट करता हूं कि दो ऑब्जेक्ट अगर उनका हैश कोड सेम है तो इक्वल्स भी ट्रू होगा कोलिजन हो जाता है कई बार कोलिजन का मतलब कि दो ऑब्जेक्ट के हैश कोड बराबर आ गए आप नहीं चाहते ऐसा कि ऐसा हो लेकिन कई बार अकर हो जाता है लेकिन हैश कोड यह हो गया एक इंट और इक्वल्स मेथड भी आपने देख ही लिया कि जिस तरीके से मैंने मेथड इंप्लीमेंट किया तो यह तो मेरे खुद के इंप्लीमेंटेशन थे राइट हैश कोड और इक्वल्स के लेकिन आप चाहो तो इनके अलावा खुद के जो इंटेलीज के इंप्लीमेंटेशन है वो भी देख सकते हो तो मैं इसको करता हूं कमेंट और अगर मैं यहां पर करता हूं कमांड एन तो यहां प आपने देखा था इक्वल्स एंड हैश कोड राइट इस पर क्लिक करते हैं तो आप बता सकते हो कि किसकिस के बेसिस पर आपको इक्वल्स बताना है तो मैं बताना चाहता हूं कि भाई जिसका मॉडल और स्ट्रिंग दोनों इंट दोनों हो तो इक्वल है तो इसलिए मैं दोनों सेलेक्ट कर लूंगा अगर आप चाहते हो कि नहीं भाई जिसका मॉडल इक्वल है बस वही इक्वल होने ईयर से मुझे फर्क नहीं पड़ता है तो आप ईयर को यहां से अ अनसिलेक्ट भी कर सकते हो बट मैं कर देता हूं नेक्स्ट आपने हैश कोड में भी सेव रखना है एंड देन क्रिएट तो यहां पर देखो यह ऑब्जेक्ट्स डॉट हैश मेथड को इसने कॉल कर दिया अब ऑब्जेक्ट डट हैश मेथड क्या करता है ये बेसिकली एक फंक्शन है जावा के अंदर ऑब्जेक्ट क्लास भी होती है एक जिसके अंदर एक यूटिलिटी फंक्शन है ये जो कि सब चीजों को लेता है अपने अंदर अपने अंदर ये बहुत सारी चीजें ले सकता है जितने मर्जी ऑब्जेक्ट पास कर दो इसके अंदर और वेरिएबल आर्गुमेंट पास कर दो इसके अंदर बेसिकली और उन सबका अपने आप ही कैलकुलेट करके आपको रिटर्न कर देगा यह एक यूनिक वैल्यू तो यह भी कॉल कर सकते हो आप और दूसरा यह इक्वल्स मेथड अब इक्वल्स मेथड देख रहे कितना अलग है मेरा इक्वल्स मेथड में सिर्फ यह लिखा हुआ था मैंने नीचे वाली लाइन मेरे इक्वल्स मेथड को आप देखो यह रहा मेरा इक्वल्स मेथड अगर मैं यहां से से अनकमेंट करूंगा तो एरर आना चाहिए बिकॉज इक्वल्स मेथड को आप दो बार इंप्लीमेंट नहीं कर सकते बट देखो जरा यह मेरा वाला इक्वल्स मेथड है इसमें देखो क्या हो रहा है मैं बस इसको कार में कन्वर्ट किया उसके बाद बस मैंने चेक कर लिया मॉडल बराबर है ईयर बराबर है तो ट्रू अदर वाइज फाल्स सेम काम यह भी कर रहे हैं नीचे की दो लाइन अगर आप देखोगे इन्होंने भी इसको कार में चेंज किया उसके बाद चेक कर लिया कि हां ईयर बराबर है और मॉडल बराबर है तो इक्वल है लेकिन इसके अलावा हमारे पास दो चीजें और भी चेक करनी होती है हमें वो ये है कि अगर दोनों के दोनों सेम ही रेफरेंस को पॉइंट कर रहे हैं मतलब मान लो ऑब्जेक्ट मेमोरी के अंदर एक ही जगह है बस दो रेफरेंस आपने बना लिए हैं और दोनों के दोनों सेम ही को पॉइंट कर रहे हैं तो ओबवियसली वो दोनों के दोनों ट्रू हैं तो उस केस में पहले ट्रू कर दो उसके उस केस में चेक करने की जरूरत नहीं है और अगर दोनों में से कोई भी एक नल है फॉर एग्जांपल जो आपने ऑब्जेक्ट पास किया है वो नल है मतलब ये तो यही चेक करता है कि जो आपने ऑब्जेक्ट पास किया वो नल है तो भी फॉल्स इसके अलावा ये जो करंट क्लास है गेट क्लास मेथड जो होता है ना वो आपकी क्लास बताता है कि कौन सी क्लास है ऑब्जेक्ट के अंदर गेट क्लास मेथड भी होता है ये देखो ऑब्जेक्ट के अंदर ये गेट क्लास मेथड भी है अगर क्लास अलग-अलग है तो भी फॉल्स रिटर्न कर दो तो बेसिकली ये जो ऑब्जेक्ट है इसकी क्लास अ अगर अलग है मेरी करंट क्लास से तो भी रिटर्न फॉल्स कर दो अदर वाइज तो चेक कर लो कि यर और मॉडल बराबर है तो इक्वल होंगे मैं इस इक्वल्स की इंप्लीमेंटेशन को यहां पर अगेन कमेंट कर देता हूं बिकॉज वो यहां पर एरर दे रही है क्योंकि एक के अंदर दो मेथड तो हो नहीं सकते सेम सिग्नेचर के तो एक बार मैं दोबारा रिपीट कर देता हूं गेट क्लास से आप क्लास निकाल लेते हो हैश कोड से आप किसी भी किसी भी ऑब्जेक्ट का कोई हैश कोड निकाल सकते हो जो कि यूनिक होगा उस ऑब्जेक्ट के लिए वेट मैं बताऊंगा नहीं टू स्ट्रिंग मेथड बेसिकली उसको स्ट्रिंग फॉर्मेट में निकालने काम में आता है किसी भी ऑब्जेक्ट का स्ट्रिंग फॉर्मेट आप निकाल सकते हो नोटिफाई नोफा नहीं बता रहे य तीन मेथड क्यों बेसिकली आपके मल्टीथ्रेडिंग यूज होते है जो कि हम नहीं पढ़ रहे होंगे इसके अलावा क्लोन मेथड से आप क्लोन कर सकते हो किसी भी ऑब्जेक्ट को इक्वल मेथड से आप चेक कर सकते हो कि दो ऑब्जेक्ट इक्वल है कि नहीं है जो सबसे जदा आप यूज कर फिर जिसको सबसे ज्यादा आप वो कर रहे हो चेंज कर रहे होगे ओड कर रहे होगे व होगा एक तो यह ठीक है दिस इ इंपोर्टेंट दूसरा होगा ये इक्वल कोड सम टाइम्स दिस लेकिन डीएसए के अंदर तो आई डोंट थिंक कभी भी आप करोगे इसको लेकिन हैश कोड एंड इक्वल्स को आप हो सकता है चेंज करो बिकॉज आप कस्टम क्लास के अगर कभी हैसेट बनाने है तो उस केस में आप यह दोनों के दोनों ओवरराइड करते हो तो यू शुड नो अबाउट हैश कोड इक्वल्स एंड टू स्ट्रिंग वी विल लर्न अबाउट हैश कोड इन डिटेल व्हेन वी विल बी लर्निंग अबाउट हैश ठीक है टू स्ट्रिंग और इक्वल समझ में आ जाना चाहिए लेकिन पॉलीमोर्फस जम देखते हैं अगला पॉलीमोर्फस अलाउ अस टू परफॉर्म अ सिंगल एक्शन इन डिफरेंट वेज इन अनदर वर्ड्स पॉलीमोर्फस अलाउ यू टू डिफाइन वन इंटरफेस एंड हैव मल्टीपल इंप्लीमेंटेशन द वर्ड पॉली मींस मेनी एंड मस मीन फॉर्म्स सो इट मींस मेनी फॉर्म्स देर आर टू टाइप ऑफ पॉलीमोर्फस वो अभी हम देखेंगे वैसे तो लेकिन एक तरीके से यह है कि आप एक चीज को अलग-अलग तरीके से यूज कर सकते हो बेसिकली मेनी फॉर्म में आपको कोई चीज यूज कर सकते हो और यह चीज ऑलरेडी वैसे हम देख चुके हैं आप में से काफ सारे लोगों ने देखा होगा चच इज अ मेथड ओवरराइडिंग एंड मेथड ओवरलोडिंग मेथड ओवरराइडिंग क्या होता है जो अभी हमने देखा ये सारी सारी चीज आप ओवरराइड ही तो कर रहे हो राइट आपके कुछ मेथड्स ऑब्जेक्ट क्लास के अंदर पड़े हुए हैं मतलब पेरेंट क्लास में पड़े हुए हैं उनको आप चाइल्ड क्लासेस ओवरराइड कर सकती है एंड दैट इज कॉल्ड मेथड ओवरराइडिंग और मेथड ओवरराइडिंग के थ्रू जो चीज आप अचीव करते हो इट इज कॉल्ड रन टाइम पॉलीमोर्फस जम ठीक है क्योंकि आप रन टाइम पर चेक करते हो कि मुझे कौन सा वाला फंक्शन कॉल करना है क्या मुझे जस्ट ये वाला करना है या मुझे उसका पेरेंट करना है या फिर मुझे उसका पेरेंट कॉल करना है दैट कैलकुलेशन इज डन ऑन रन टाइम तो ये होता है आपका अ रन टाइम पॉलीमोर्फस तो मेथड ओवरराइडिंग को ही रन टाइम पॉलीमोर्फस कहते हैं ठीक है इस बात को समझ लेना मैथड ओवरराइडिंग रनटाइम पॉलीमोर्फस एक ही बात है मैं एक काम करता हूं पूरा समझाता हूं ठीक से तो सपोज करो दिस इज योर डटा क्लास अगेन वी आर यूजिंग दिस डेटा क्लास एंड लेट्स मेक सम फंक्शंस यर तो पब्लिक वॉइड प्रिंट डाटा इस तरीके से मैंने बनाया और यह क्या करेगा येय इस डाटा को प्रिंट कर देगा ठीक है इसके अलावा मैंने सपोज एक और बनाया सो नहीं इधर नहीं बनाते एक और क्लास बनाते हैं क्लास चाइल्ड डाटा इस तरीके से एंड दिस चाइल्ड क्लास सपोज करो य एक्सटेंड करती है इस डेटा क्लास को ठीक है डेटा क्लास इ द पेरेंट क्लास तो दिस डेटा क्लास इ द पेरेंट क्लास एंड दिस चाइल्ड डटा इ द चाइल्ड क्लास नाउ व्ट आई कैन डू इ कैन ओवरराइड दिस प्रिंट डेटा फंक्शन राइट एंड आई कैन डू दिस रेट ओवरराइड एंड देन पब्लिक वाइड प्रिंट डाटा और मैं अब यहां पर अपनी खुद की इंप्लीमेंटेशन दे सकता हूं कि ओवर रेडन और यहां पर आ जाएगा डाटा और यह जो डटा यहां पर आया यह डटा कहां से आया य डटा पेरेंट क्लास राट बिकॉज य चाइल्ड क्लास है चाइल्ड क्लास के अंदर भी पेरेंट क्लास का डाटा एक्सेस कर सकता हूं बड़ इजली नो प्रॉब्लम बिकॉज पेरेंट से चाइल्ड एक्स रिट कर रहा होता है सिमिलरली प्रिंट डाटा वाला मेथड जो ऊपर था व मैंने य पर ओवर ड कर दिया है एंड नाउ दिस थिंग इ कॉल्ड रन टाइम पॉलीमोर्फस अब यह क्यों कहते भैया इसको तो जरा देखो आपने क्या किया डे टा क्लास का बजेट इस तरीके से डेटा डी लेटस से एंड देन दिस डी इ टू न्यू चाइल्ड डेटा एंड दिस यू कैन डू बिकॉज चाइल्ड डेटा इज ए डेटा राइट इसमें इ ए वाला रिलेशन होता है पेरेंट चाइल्ड के अंदर इ ए रिलेशन होता है चाइल्ड डेटा इज ए डेटा तो जहां जहां पर आप डेटा यूज कर सकते हो उस जगह पर चाइल्ड डेटा पास कर सकते हो इस तरीके से नो प्रॉब्लम और यहां पर अगर आपने ये किया डी डॉट प्रिंट डाटा तो क्या होगा अगर आप यहां पर प्रिंट डाटा वाला फंक्शन इधर ओवर ऐड नहीं करते तब तो इस डी के अंदर का प्रिंट डाटा कॉल हो रहा होता राइट लेकिन क्योंकि आपने इधर ओवरराइड कर दिया इसी वजह से जो प्रिंट डाटा वाला फंक्शन है यह इस चाइल्ड डाटा का कॉल होने वाला है एंड दिस थिंग इज कॉल्ड रन टाइम पॉलीमोर्फस बिकॉज यहां पर रन टाइम पर चेक हो रहा है कि मुझे किससे लिंक करना है इस चाइल्ड डाटा को पेरेंट से या उसके पेरेंट से या फिर इसी करंट चाइल्ड से तो यह वाला कांसेप्ट ऑलरेडी हम देख चुके थे अपने इन्हेरिटेंस के अंदर तो सेम ही चीज रिपीट कर रहा हूं कि यू कैन हैव चाइल्ड क्लासेस एंड दोस चाइल्ड क्लासेस कैन ओवरराइड अ फंक्शन एंड देन डूइंग सो यू आर अचीविया कंपाइल टाइम पॉलीमोर्फस जम क्या होता है भैया फिर कंपाइल टाइम पॉलीमोर्फस जम होता है अब देखो यहां पे ओवर रिटन डेटा प्रिंट हुआ है राइट ओवर रिटन वाला डटा प्रिंट हुआ है अगर मैं ये नहीं करता तो यहां पे ऊपर वाला प्रिंट हो जाता नॉर्मल डाटा तो ये था हमारा रन टाइप पॉलिम फिज्म इसके अलावा कंपाइल टाइम पॉलिम होता है कि वो बताता है कि एक ही एक ही फंक्शन है प्रिंट डाटा नाम का एक फंक्शन है लेकिन यह दो तरीके से एक्ट कर सकता है ऐसे कि पब्लिक वॉइड प्रिंट डाटा बस इसके अंदर आप अलग टाइप का पैरामीटर पास कर दो फॉर एग्जांपल लेट्स से इंट टाइम्स एंड देन फिर आप यहां पे कुछ अलग इंप्लीमेंटेशन बता दो यहां पे फॉर एग्जांपल लेट से मैं फॉर लूप चला देता हूं फॉर डेल्टा = 0 i लेन टाइम्स i+ प् और यहां पे मैं डाटा प्रिंट कर दूंगा तो यहां पर मैं क्या कर रहा हूं एक ही फंक्शन बनाया मैंने लेकिन इस फंक्शन ने दो फॉर्म ले लिए है इसीलिए पॉलीमोर्फस जम और यह जो चेकिंग है कि मुझे कौन सा वाला फंक्शन कॉल करना है यहां पर जो चेकिंग हो रही है यह चेकिंग आपकी रन टाइम पर हो जाएगी मतलब सॉरी कंपाइल टाइम पर हो जाएगी जब कंपाइल हो रहा होगा ना कोड उसी टाइम पर लिंकिंग हो जाएगी कि कौन सा वाला फंक्शन कॉल करना है बिकॉज दिस इ इयर रन टाइम पर चेक करने की जरूरत नहीं है क्योंकि उसके अंदर आपको पेरेंट का पेरेंट का पेरेंट चेक करना पड़ता है तो यह तो था आपका दिस थिंग वास रन टाइम पॉलीमोर्फस म आल्सो नोन एस एए मेथड ओवरराइडिंग वही पर अगर आपने ऐसे किया डेटा डी डेटा डीटू इ टू न्यू डाटा सपोज करो डटा बनाया मैंने इस तरीके से और मैंने कॉल किया ट डॉट प्रिंट डाटा अब प्रिंट डटा आप यह वाला कॉल करना चाहते फिर यह वाला कॉल करना चाहते हो इसकी लिंकिंग तो अभी हो जाएगी फर एपल अग मैंने फ लिखा तो अभी कमांड क्लिक करूंगा ना मैंने रन भी नहीं किया देखो मैं बस कमांड क्लिक करूंगा तो ये अपने आप ही लिंक हो चुका है इससे ये कमांड क्लिक करने के बाद अपने आप कैसे पहुंच जा रहा है भैया तो यहां पर ना ये इंटेलीजें अपने आप ही कंपाइल करता रहता है चीजों को इसीलिए आपको एरर भी देता रहता है टाइम टू टाइम कि किस लाइन में क्या एरर आ रहा है बिकॉज वो कंपाइल पूरे टाइम करता रहता है जैसे ही आपने कोड लिखा कंपाइल कर देगा वो आपके लिए ठीक है बिहाइंड द सीन करता रहता है वो अगर आप कुछ और फॉर एग्जांपल नोटपैड वगैरह में अपना कोड करते हो तो वहां पे कंपाइल टाइम के टाइम पर एरर आते हैं एक सेकंड यहां पर देखो अपने आप ही प्रिंट डाटा वाले फंक्शन पर पहुंच गया राइट और अगर मैं यहां से फाइव हटा देता हूं तो ये ऊपर वाले फंक्शन में पहुंच जाएगा इस बार देखो इस बार ऊपर वाले फंक्शन प चला गया ये कमांड क्लिक करने पे तो ये लिंकिंग आपकी कंपाइल टाइम पे हो रही है एंड दिस थिंग इज कॉल्ड कंपाइल टाइम पॉलीमोर्फस जम आल्सो नोन एज मेथड ओवरलोडिंग कहते हैं इसको ठीक है आपने एक ही फंक्शन बनाया जो कि दो तरीके से कॉल हो सकता है अच्छा यहां पर डी डॉट प्रिंट डाटा करूंगा जो मैं ऊपर की तरह कर रहा था अगर डीड प्र डाटा यहां पर मैंने कर दिया लेट्स से फ तो दिस इज आल्सो कंपाइल टाइम पॉलीमोर्फस जम राइट बिकॉज एक ही फंक्शन आपका दो तरीके से ट्रीट हो रहा है तो जरूरी नहीं कि d2 बनाना इसके लिए लेकिन बोथ दीज थिंग्स आर मतलब दोनों के एग्जांपल आपने देख लिए ये था आपका रन टाइम पॉलीमोर्फस जम और ये था आपका कंपाइल टाइम पॉलीमोर्फस रन टाइम के अंदर आपका एक बार प्रिंट हो रहा है कंपाइल टाइम के अंदर पांच बार प्रिंट हो रहा है तो दिस वाज ऑल अबाउट मेथड ओवरलोडिंग एंड मेथड ओवरराइटिंग कंपाइल टाइम पॉली एंड रन टाइम पॉलीमोर्फस जम सेम चीज यहां पर लिखी भी हुई है आप देख सकते हैं कि आपने क्या किया यह टेस्ट क्लास है आपके पास इस टेस्ट क्लास के अंदर कुछ फंक्शन बनाए आपने वाइड फन नाम से और ये जो फन वाला मेथड है यहां पर इंट ए ले रहा है यहां पर इंट ए और इंट बी ले रहा है और यहां पर कैर ए ले रहा है तो तीनों ही केसेस के अंदर यह सेम ही फंक्शन सेम ही नाम है लेकिन अलग-अलग वैल्यूज ले ले रहा है एक ही फंक्शन सेम काम मतलब अलग-अलग काम कर रहा है सेम नाम का फंक्शन तो यह हो गया हमारा कंपाइल टाइम पॉलीमोर्फस मेथड ओवरलोडिंग मींस कंपाइल टाइम ठीक है यहां पर मैं लिख देता हूं दिस इज कंपाइल टाइम कंपाइल टाइम बल्कि यहां पर देखो एक बेस क्लास है जिसके अंदर एक फंक्शन है इंट a और ये डिराइवर आइड कर रहे हैं आप मेथड ओवरराइडिंग हो रही है तो इसे हम कहेंगे रन टाइम पॉलीमोर्फस जम तो दिस इज रन टाइम अच्छा एक चीज और भी बता देता हूं मैं डेटा डी अगर मैं यहां पर सपोज कर मतलब ये जो लिखा हुआ है इसको एक लाइन में लेके जाते हैं पहले तो एक लाइन में ले आओ दो लाइन में ले आओ फर्क नहीं पड़ता वैसे यह जब मैंने किया इसके बाद जब मैं d के आगे डॉट लगाऊंगा ना तो वो सारे के सारे फंक्शन जो पेरेंट में है सिर्फ वो कॉल रहे होंगे ठीक है ना कि आपके चाइल्ड के फंक्शंस यह बात समझनी में जरूरी है कि कोई फंक्शन है जो कि पेरेंट के अंदर है चाइल्ड के अंदर नहीं है फॉर एग्जांपल सपोज करो ये प्रिंट डाटा मैंने यहां से हटा दिया कमेंट कर दिया ठीक है तो जब मैं ये डीड प्रिंट डाटा करता हूं तो यहां पर ये जो फंक्शन है ये सारे के सारे इधर के फंक्शन कॉल हो रहे हैं डटा डी के सपोज करो यहां चाइल्ड डाटा के अंदर एक फंक्शन है वच इज दिस पब्लिक वॉइड इनसाइड चाइल्ड ओनली ये चाइल्ड के अंदर ही है ये पेरेंट के अंदर नहीं य वाला फंक्शन सपोज करो ये है तो जब मैंने यहां पर देखो आप आपके लिए मैंने य पर चाइल्ड ऑब्जेक्ट बनाया है तो आपको गा भाई चाइल्ड ऑब्जेक्ट बनाया तो चाइल्ड वाला फंक्शन भी कॉल हो जाना चाहिए इससे लेकिन ऐसा नहीं होगा बिकॉज ये लिंकिंग यहां पर पहले ही हो चुकी होगी लिंकिंग कह लो या फिर एक चीज कहते चेक्ड कि चेकिंग पहली हो जाती है य पर कि ये चेक किस चीज से कर रहे हो आप चेक कर रहे हैं पेरेंट से तो पेरेंट के साथ इसको बना दिया तो पेरेंट के साथ ही लिंकिंग हो चुकी है इसकी तो डी डॉट करोगे आप देखो प्रिंट डाटा या डेटा या फिर प्रिंट डेटा वाला फंक्शन ही मिल रहा है मुझे चाइल्ड वाला फंक्शन नहीं मिल रहा इनसाइड चाइल्ड नी वाला अगर वो आपको एक्सेस करना है तो इसको चाइल्ड का ऑब्जेक्ट बनाना पड़ेगा यहां पर तो व्हाट यू विल हैव टू डू इज मेक इट चाइल्ड डाटा यह कर दोगे तब तो मिल जाएगा उसे देखो इनसाइड चाइल्ड नी वाला फंक्शन लेकिन अगर यह नहीं करोगे अगर आपने इसको पेरेंट बनाया है मतलब पेरेंट का क्या था डाटा था तो नहीं मिलेगा और ये बिल्कुल सही बात भी है ऐसा होना भी चाहिए बिकॉज ये जो चीज इंट्रोड्यूस की गई है ना कि पेरेंट की जगह पर आप चाइल्ड य कर सकते हो इसलिए यूज की गई है सो दैट एक लिस्ट है मतलब एक लिस्ट है सपोज करो और वोह लिस्ट कलेक्शन फम में आपने आप पढ़ोगे जो पढ़ा भी दिया कि आपके पास एक लिस्ट है जिसको एरे लिस्ट भी सपोर्ट कर रहा है लिंक लिस्ट भी आपके पास दो टाइप के लिस्ट है लिंक लिस्ट और ए लिस्ट ठीक है अब अगर आपने उसका पेरेंट लिस्ट बना दिया चलो यह चीज अब देख ही लेते हैं अच्छे से सपोज करो दिस इज लिस्ट ऑफ इंटी जर ठीक है एव इ टू न्यू एरे लिस्ट एंड देन देर इज अ लिस्ट ऑफ इंटी जर एट इ ू न्यू एरे लिस्ट न्यू लिंक लिस्ट तो लद दोनों की दोनों अलग-अलग क्लासेस है इसके लिए मुझे इंपोर्ट करना पड़ेगा जावा स् को लद दोनों दोनों अलग-अलग क्लासेस है लेकिन तब भी यह दोनों दोनों लिस्ट की तरह ट्रीट होंगी बिकॉज अल्टीमेटली ये लिस्ट को इंप्लीमेंट कर रही है इस तरीके से और लिस्ट एक ऊपर ऊपर का इंटरफेस है और एरे लिस्ट और लिंक लिस्ट उसके नीचे के चाइल्ड है तो यहां पर भी ये वाली चीज अलाउड है ठीक है बिकॉज़ लिंक लिस्ट इज अ लिस्ट अल्टीमेटली एंड एरे लिस्ट इज आल्सो अ लिस्ट तो अब इसके अंदर अगर आपको कोई भी ऑपरेशन करने है जिसके अंदर आप एक लिस्ट पास कर सकते थे तो वहां पे आप आपको फर्क नहीं पड़ता आप l1 पास कर रहे हो या l2 पास कर रहे हो दोनों के दोनों सेम ही माने जाएंगे जावा की नजरों में बिकॉज़ दोनों के दोनों लिस्ट ही हैं लेकिन सपोज करो फ्यूचर में आपने क्या किया एक को बना दिया लिंक लिस्ट मतलब एक को आपने बना दिया सपोज करो क्यू बिकॉज लिंकलिस्ट जो है वो क्यू की भी इंप्लीमेंटेशन रखता है अपने अंदर और लिस्ट की भी इंप्लीमेंटेशन रखता है अपने अंदर तो अब अगर आप किसी ऐसी जगह प इस लिंक लिस्ट को डालने का ट्राई करते हो जहां पे एक लिस्ट चाहिए था और आप क्यों डालने का ट्राई करोगे तो वो काम नहीं करेगा ठीक है ऐसा कोई फंक्शन वैसे तो मुझे पता नहीं ज्यादातर फंक्शन के अंदर आप कलेक्शन डाल सकते हो और सब के सब चीजें कलेक्शन होती ही है लेकिन इट्स जस्ट अ कांसेप्ट बेसिकली कि जहां पर आप चाइल्ड क्लास लगा सकते हो राइट क्लास में और लेफ्ट साइड में लगा सकते हो पेरेंट क्लास एंड जावा वट माइंड ठीक है और आप जो फंक्शन कॉल कर रहे होगे वो पेरेंट क्लास के कॉल कर रहे होगे ना कि ना कि आप नॉर्मल क्लास के ठीक है चाइल्ड क्लास के एक चीज और भी देख लो जैसे कि सपोज करो आपने एक ऑब्जेक्ट बनाया ऑब्जेक्ट क्लास तो सबकी पेरेंट होती है ऑब्जेक्ट ऑब्जेक्ट इक्व टू न्यू चाइल्ड डाटा ये मैं कर सकता हूं राइट अब मेरे पास जो फंक्शन अवेलेबल होंगे वो अगेन मेरे पास सिर्फ ऑब्जेक्ट क्लास के फंक्शन अवेलेबल है ठीक है लेकिन स्टिल मैं ऊपर लाइन लिख पाया बिना किसी दिक्कत के बिकॉज यह भी अल्टीमेटली ऑब्जेक्ट ही है ठीक है इस वाली चेकिंग भी रन टाइम पे हो रही है तो इसी वजह से रन टाइप पॉलीमोर्फस तुम कह सकते हो