हेलो फ्रेंड्स जावा लैंग्वेज की सीरीज में आज हम देख रहे हैं हमारा लेक्चर टू लेक्चर टू में हम लोग जावा का एक प्रोग्राम एक्सप्लोर करेंगे अभी तक हमने जावा में देखा जाए तो कुछ भी कोडिंग से रिलेटेड पार्ट नहीं सीखा है हमारे पिछले फर्स्ट लेक्चर में हमने बहुत इंट्रोडक्टरी एलिमेंट्स पढ़े थे जिसमें हमने देखा था हिस्ट्री ऑफ जावा कंपाइल कैसे करते हैं रन कैसे करते हैं लेकिन आज हमको देखना हमारा पहला प्रोग्राम जावा एक के सेंसिटिव लैंग्वेज है बिल्कुल वैसे ही जैसे सी और सी प्लस प्स लैंग्वेज यानी स्मल लेटर और कैपिटल लेटर को डिफरेंट कंसीडर किया जाता है तो अगर आप लोग सी या सी प् प् के बैकग्राउंड से है तो आपके लिए कुछ भी नया नहीं है जावा भी केस सेंसिटिव है जावा इ नियर 100% ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग लैंग्वेज मैंने इसको 100% नहीं बोला है नियर नियर 100% बोला है जिसकी वजह है जो अपन आगे समझने वाले हैं ऑब्जेक्ट ओरिएंटेड होने का मतलब यह होता है कि कोई भी डाटा ऑब्जेक्ट के फॉर्म में ही रिप्रेजेंट हो एवरीथिंग इन द प्रोजेक्ट मस्ट बी रिप्रेजेंट इन टर्म्स ऑफ ऑब्जेक्ट जावा इस फिलॉसफी पे वर्क करती है इसके पहले जब हम सी प् प् पढ़ते हैं तो सी प् प् इज नॉट कंप्लीट ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग लैंग्वेज जस्ट बिकॉज कि उसमें ऐसा प्रोग्राम बनाना पॉसिबल है जो के कांसेप्ट को यूज ना करता हो यानी बिल्कुल वैसा जैसा सी में बनाते थे जावा में एक रूल हमेशा याद रखिएगा क्योंकि अगर आप सी प्लस प्स बैकग्राउंड से हैं तो आपने देखा होगा सी प्लस प्स में कि आप कोई क्लास के अंदर फंक्शन बनाते हैं उसको मेंबर फंक्शन बोलते हैं क्लास के बाहर कोई फंक्शन बनाते हैं वह नॉन मेंबर फंक्शन बन रहा है तो सी प् प्स में तो दो तरह के फंक्शन थे मेंबर फंक्शन और नॉन मेंबर फंक्शन पर जावा में सिर्फ फंक्शन होते हैं यानी कोई भी फंक्शन आप जावा में बनाएंगे तो वह किसी ना किसी क्लास का मेंबर ही होगा यह है हमारा पहला जावा का प्रोग्राम अभी हमने जावा में कुछ भी नहीं सीखा लेकिन हमें इससे पहले कोई ना कोई प्रोग्रामिंग लैंग्वेज जरूर आती है और यदि आपको सी प्लस प्लस आती है तो आप उसी के नोटेशंस को यहां पर कंपेयर करके समझने की कोशिश करें जब आप ऐसा करेंगे तो आप रिलाइज करेंगे कि जावा ना बहुत आसान है क्योंकि जिस तरह से आप सीस c+ प् में क्लास बनाते थे उसी तरीके से जावा में भी क्लास बना रहे हैं कुछ माइनर चेंजेज हैं तो इस प्रोग्राम के बहाने हम लोग सीखेंगे वो छोटे-छोटे कई सारे रूल्स जो डिफरेंस क्रिएट करते हैं जावा और c+ प्स में क्लास बनाने के तरीके में सबसे पहला डिफरेंस यहां पर क्या दिखाई दे रहा है आप जरा प्रोग्राम को ध्यान से देखिए सबसे पहला शब्द पब्लिक आप जानते हैं सी प् प् में कोई क्लास जब बनाई जाती है तो उसके पहले कोई कीवर्ड नहीं लिखा जाता यानी कि ना पब्लिक लिखा जाएगा ना प्राइवेट लिखा जाएगा ना प्रोटेक्टेड लिखा जाएगा पर जावा के अंदर यह पॉसिबल है कि आप क्लास के पहले कीवर्ड लिख सकते हैं पब्लिक पब्लिक जब आप बोल रहे हैं तो प्राइवेट और प्रोटेक्टेड का भी ध्यान आता है तो एक सवाल अक्सर पूछा जाता है क्या जावा में प्राइवेट क्लास बनाई जा सकती है तो अगर आप क्लास के अंदर कोई क्लास बना रहे हैं दैट इज इनर क्लास तो वह क्लास प्राइवेट हो सकती है प्रोटेक्टेड भी हो सकती है पब्लिक भी हो सकती है लेकिन जो आउटर क्लास है वह क्लास या तो पब्लिक हो सकती है या डिफॉल्ट हो सकती है डिफॉल्ट का मतलब क्या है मान लीजिए आप पब्लिक नहीं लिखते आप सीधे कोडिंग स्टार्ट करते क्लास हेलो वर्ल्ड क्लास के पहले ही पब्लिक कीवर्ड नहीं लिखा होता तो फिर यह कहलाती डिफॉल्ट तो या तो डिफॉल्ट क्लास बनाएंगे या पब्लिक क्लास बनाएंगे दो ही तरह की बनाएंगे बाकी इनर क्लास अगर बनाते हो तो आपके पास चार तरीके होते हैं प्राइवेट क्लास प्रोटेक्टेड क्लास पब्लिक क्लास या डिफॉल्ट क्लास अगला शब्द है क्लास अच्छा आपने सोचा होगा यह पब्लिक लिखने से हुआ क्या तो यह आज हमको नहीं समझना है य आगे की क्लासेस में हम समझेंगे कि पब्लिक लिखने से क्या हुआ अभी फिलहाल आप पब्लिक लिखें या ना लिखें दोनों सूरत में आपका प्रोग्राम चलेगा क्लास एक कीवर्ड है यह बिल्कुल वैसा ही है जैसे सी प्स प्लस में आपने क्लास कीवर्ड समझाया कोई भी अंतर नहीं है क्लास बनाना इन कैप्सन को अचीव करने का एक तरीका है इन कैप्सन जो एक कांसेप्ट है उप्स का जो यह कहता है कि किसी एंटिटी से रिलेटेड सारी प्रॉपर्टीज और सारे मेथड्स को एक रैपिंग करो कंबाइंड करो एक ग्रुप बनाओ क्लास व तरीका है जो यह कांसेप्ट को अचीव करता है क्लास बनाने से आप एक नया डटा टाइप बना देते हैं और वह डेटा टाइप यहां पर कौन सा है हेलो वर्ल्ड यानी आप अपने प्रोग्राम में जो क्लास का नाम रख रहे हैं वह रखा है आपने हेलो वर्ल्ड और आप ध्यान से देखिए इसको लिखने का एक खास अंदाज जावा के लोग यूज करते हैं यह कोई कंपल्शन नहीं है लेकिन यह एक तरह के एडिकेट्स है कि जो भी जावा का प्रोफेशनल प्रोग्रामर है वह हमेशा क्लास के नाम को एक खास अंदाज में ही लिखेगा वो अंदाज कहलाता है कैमल नोटेशन कैमल केस जिसका मतलब होता है हर शबद श का पहला लेटर कैपिटल होगा तो आप देख रहे हैं इसमें दो शब्द हैं हेलो वर्ल्ड स्पेस तो बीच में अलाउड होगा नहीं तो पहले शब्द का पहला लेटर एच कैपिटल है दूसरे शब्द का पहला लेटर डब्लू यह भी कैपिटल है अब देखिए सबसे आखिरी में आप देख सकते हैं कि सी प्स प्स में जब क्लास का एंड करते हैं तो कर्ली ब्रैकेट के बाद सेमीकलन लगाया जाता है ये सेमीकलन क्लास के एंडिंग मार्क को डिनोट करता है वहां नहीं लगाएंगे तो एरर आती है पर जावा में क्या है जावा में सेमीकलन नहीं लगाया जाता तो इस बात को आप ध्यान रखिएगा क्योंकि अगर आप सी प् प् के प्रोग्रामर है तो अक्सर आप ये गलती कर सकते हैं अब देखते हैं हमने इस क्लास के अंदर क्या बनाया देखिए एक बड़ा डिफरेंस है c+ प्स के अंदर जब आप मेन फंक्शन बनाते थे तो वो क्लास का मेंबर फंक्शन नहीं होता था लेकिन जावा में मेन फंक्शन भी मेंबर फंक्शन होता है क्योंकि जावा में कोई भी फंक्शन पोरली नॉन मेंबर फंक्शन नहीं हो सकता किसी ना किसी क्लास का मेंबर होना उसे जरूरी है तो मेन फंक्शन भी क्लास का मेंबर है तो अगर हमें इतना छोटा प्रोग्राम बनाना है कि वो स्क्रीन पर प्रिंट कर दे हेलो वर्ल्ड इतना छोटा प्रोग्राम बनाने के लिए भी आपको क्लास बनानी पड़ेगी क्योंकि मेन फंक्शन तो क्लास के अंदर ही हो सकता है आपने इस फंक्शन मेन को पब्लिक बनाया हुआ है इनफैक्ट जो पूरा मेन का प्रोटोटाइप लिखा हुआ है पब्लिक स्टैटिक वॉइड मेन स्ट्रिंग ए आरजी यह फिक्स है यानी आप जब भी जावा का प्रोग्राम बनाएंगे ये आपको यही लिखना कुछ और चेंज नहीं कर सकते पब्लिक लिखने का मतलब है कि मेन फंक्शन को क्लास के बाहर से जेवीएम करवाएगा कॉल तो वो कॉल कर पाएगा क्योंकि यह इसका पब्लिक फंक्शन होगा आप जानते हैं जो भी क्लास के अंदर पब्लिक मेंबर होते हैं वो बाहर से एक्सेसिबल होते हैं इसीलिए इसको बनाया गया है पब्लिक स्टैटिक क्यों लिखा है c+ प में भी स्टैटिक पढ़ा होगा स्टैटिक मेंबर्स क्लास के मेंबर्स कहलाते हैं क्लास में दो तरह के मेंबर्स होते हैं एक होते हैं स्टैटिक और एक होते हैं नॉन स्टैटिक नॉन स्टैटिक को हम इंस्टेंस मेंबर्स भी बोलते हैं इंस्टेंस मेंबर्स क्या होते हैं इंस्टेंस मतलब ऑब्जेक्ट यानी ऑब्जेक्ट के वेरिएबल ऑब्जेक्ट के मेंबर्स जो ऑब्जेक्ट के द्वारा ही कॉल हो सकते हैं लेकिन जो स्टैटिक मेंबर्स होते हैं वो ऑब्जेक्ट पर डिपेंड नहीं करते यानी मेन फंक्शन अगर एक स्टैटिक फंक्शन है तो इसको कॉल करने के लिए मुझे इस क्लास का ऑब्जेक्ट बनाने की जरूरत नहीं है तो इसीलिए कि मुझे इस क्लास का ऑब्जेक्ट नहीं बनाना है सीधे मेन फंक्शन को कॉल करना है इस फंक्शन को बनाया गया स्टैटिक फंक्शन का रिटर्न टाइप है वॉइड जिससे यह पता चल रहा है कि मेन कुछ भी रिटर्न नहीं करेगा आपने सी c+ प् में देखा था कि आप रिटर्न टाइप कुछ और भी लिखते थे कई बार इंट लिखते थे कुछ कंपाइलर्स इंट और वॉइड दोनों को अलाउ करते हैं लेकिन जावा में ऐसा नहीं है जावा में आप सिर्फ और सिर्फ वॉइड ही लिखेंगे जिसका मतलब है मेन फंक्शन कुछ भी रिटर्न नहीं करेगा इसके बाद फंक्शन का नाम है मेन एम ए आई एन और यह बिल्कुल आप फैमिलियर है इससे अगर आपने सी c+ प् पढ़ा है तो लगभग हर प्रोग्रामिंग लैंग्वेज में कोई एंट्री पॉइंट होता है जहां से प्रोग्राम स्टार्ट हो वह है यहां मेन फंक्शन इसके बाद आप देख रहे हैं कि इसमें एक आर्गुमेंट भी है यह एक तरह से एरे है एरे बनाने का तरीका यहां थोड़ा सा डिफरेंट है इसलिए आप इसके नोटेशन से कंफ्यूज ना हो आगे हम एक लेक्चर देखेंगे जिसमें अरेज को डिटेल में देखेंगे यहां पे यह जो लिखा है इसका यूज मैं प्रोग्राम में नहीं कर रहा हूं लेकिन फिर भी यह इसके प्रोटोटाइप का एक अहम हिस्सा है अगर नहीं लिखेंगे तो एरर आएगी स्ट्रिंग यहां पर एक क्लास का नाम है तो जैसे आप कई टाइप के वेरिएबल बनाते हैं तो क्योंकि स्ट्रिंग एक डेटा टाइप ही हो गया है क्लास हो गया है तो डेटा टाइप हो गया तो इसका भी हम वेरिएबल बना रहे पर सिंपल वेरिएबल बना नहीं रहे हम यहां पर उसका एरे बना रहे हैं एरे बनाने का मतलब क्या हुआ कि ए आरजीएस एक एरे का नाम है जिसमें कई सारी स्ट्रिंग हम स्टोर कराएंगे तो मेन फंक्शन जब भी कॉल होगा तो कुछ आर्गुमेंट सप्लाई होंगे यह आर्गुमेंट स्ट्रिंग्स होंगी और यह सारी की सारी स्ट्रिंग इस एरे में जाके स्टोर हो जाएंगे तो यदि हम चाहते हैं तो इन स्ट्रिंग्स को हैंडल कर सकते हैं तो आगे जाके हम एक चैप्टर पढ़ेंगे कमांड लाइन आर्गुमेंट जिसमें इस आर्गुमेंट का इस्तेमाल करना सीखेंगे फिलहाल इसकी जरूरत नहीं है पर लिखना आपको पड़ेगा अब देखते हैं मेन फंक्शन के अंदर क्या हो रहा है मेन फंक्शन के अंदर हमने एक लाइन लिखी है यह पूरी लाइन वही काम कर रही है जो सी में प्रिंट एफ करता है या c+ प् में सी आउट की मदद से आप करते हो यानी स्क्रीन प कोई मैसेज प्रिंट करा का काम लेकिन जो आप देख रहे हैं वो सबसे पहले लिखा है सिस्टम याद रखिए सी जावा में सभी क्लासेस के नाम कैमल नोटेशन को फॉलो करते हैं यानी हर शब्द का पहला लेटर कैपिटल अगर इस आधार पर सोचे तो सिस्टम क्या है उसका एस कैपिटल है इसलिए हम समझ सकते हैं कि सिस्टम एक क्लास का नाम है क्लास के नाम के बाद अगर डॉट लगा है तो इसका मतलब है आप उस क्लास के स्टैटिक मेंबर्स को एक्सेस कर रहे हैं तो आउट क्या है आउट सिस्टम क्लास के अंदर मौजूद एक स्टैटिक मेंबर है बेसिकली एक ऑब्जेक्ट रेफरेंस है लेकिन अभी आप इसको ऑब्जेक्ट भी समझ ले तो कोई बुराई नहीं आगे जाकर हम क्लियर करेंगे कि यह ऑब्जेक्ट रेफरेंस है ऑब्जेक्ट नहीं है पर यह ऑब्जेक्ट को ही रिफर कर रहा है इसलिए ऑब्जेक्ट जैसा सोच सकते हैं तो सिस्टम के बाद जब आउट लिखा है तो आउट एक स्टैटिक ऑब्जेक्ट रेफरेंस है जिसने अपने मेंबर फंक्शन को कॉल किया है मेंबर फंक्शन है प्रिंट एलन प्रिंट एलन फंक्शन में जो आपने लिखा है डबल कोट्स में एज इट इज स्क्रीन पर प्रिंट हो जाएगा तो यह बिल्कुल प्रिंट एफ की तरह है सी लैंग्वेज में हमने प्रिंट एफ पढ़ा बिल्कुल वैसा ही है फर्क सिर्फ इतना है कि जावा ऑब्जेक्ट ओरिएंटेड है तो यह फंक्शन किसी क्लास का मेंबर फंक्शन है और आउट उस क्लास का ऑब्जेक्ट को रिप्रेजेंट कर रहा है इसलिए आउट डॉट लगा के हमने इस मेंबर फंक्शन को किया है कॉल तो यह बड़ा सा दिखने वाला स्टेटमेंट शुरुआत में जावा के प्रोग्रामर्स को बड़ा अजीब लगता है लेकिन अगर आप समझे तो सिस्टम एक क्लास है आट उसके अंदर का एक स्ट एक मेंबर है जिसका एक फंक्शन है प्रिंट एलन जैसे प्रिंट एलन एक फंक्शन है वैसे ही एक प्रिंट नाम का भी फंक्शन होता है दोनों में फर्क यह है कि प्रिंट एलन ऑटोमेटिक लाइन चेंज कर देता है आपको न्यू लाइन कैरेक्टर लिखने की जरूरत नहीं पड़ती जबकि प्रिंट में वह लाइन चेंज नहीं करता तो कैमल केस क्या है कैमल केस आप जैसे देख रहे हैं इस प्रोग्राम में एच और डब्लू को मैंने हाईलाइट किया हुआ है तो किसी क्लास के नाम में हम कैमल केस नोटेशन यूज करते हैं हर शब्द का पहला लेटर कैपिटल क्या आप इस प्रोग्राम में यह पता लगा सकते हैं कि कितनी क्लासेस के नाम लिखे हुए हैं यस जो जो मैंने हाईलाइट किए हैं हेलो वर्ल्ड एक क्लास का नाम है स्ट्रिंग भी एक क्लास का नाम है क्योंकि उसका पहला लेटर कैपिटल है सिस्टम भी एक क्लास का नाम है क्योंकि उसका पहला लेटर कैपिटल है तो इस तरीके से क्लासेस को आईडेंटिफाई करना बहुत आसान हो जाता है यदि आपको यह लेक्चर यूजफुल लगा हो पसंद आया हो तो आप इसको लाइक करिए इस चैनल को सब्सक्राइब करिए और आगे आप इस तरह के और भी बहुत सारे वीडियोस देख सकते हैं थैंक यू