CodeGym /Java Blog /यादृच्छिक /जुनी पातळी 02
John Squirrels
पातळी 41
San Francisco

जुनी पातळी 02

यादृच्छिक या ग्रुपमध्ये प्रकाशित केले

कोडजिम - जावामध्ये प्रोग्रामिंग शिकणे

जुनी पातळी 02 - 1प्रोग्रामिंगचा अभ्यास करण्याचा आणि शिक्षण घेण्याचा पूर्णपणे नवीन मार्ग कसा आहे? तुम्ही याआधी पाहिलेले काहीही दिसत नाही. शिकण्याबद्दल काय, जिथे तुमचे ध्येय, साधन आणि परिणाम आहे? जावा शिकण्यासाठी नवीन ऑनलाइन प्रोग्रामिंग कोर्सेस सादर करताना मला आनंद होत आहे.

1 प्रशिक्षण हा ऑनलाइन गेम आहे

तुम्ही एखादे कार्य घ्या, ते पूर्ण करा आणि बक्षीस मिळवा. मला वाटते की ते तुमच्यासाठी स्पष्ट आणि सामान्य आहे. कार्ये सर्वात भिन्न आहेत: कोड वाचणे, कार्ये सोडवणे, व्हिडिओ-धडे, कोडमधील त्रुटी सुधारणे, नवीन वैशिष्ट्ये जोडणे, मोठी कार्ये, गेम लिहिणे आणि बरेच काही.

2 फक्त अत्यावश्यक वस्तू

कोर्स 5 वर्षे टिकू नये म्हणून, मी सर्व उपयुक्त गोष्टी फेकून दिल्या आणि त्यातील फक्त आवश्यक गोष्टी सोडल्या. मी श्रमिक बाजारावरील दहापट रिक्त पदांचे विश्लेषण केले. जावा ज्युनियर डेव्हलपरची नोकरी मिळविण्यासाठी नवशिक्याला माहित असणे आवश्यक असलेले सर्व विषय अभ्यासक्रमात समाविष्ट केले आहेत.

3 मी तुमच्या प्रशिक्षणाकडे पूर्णपणे संपर्क साधला आहे

पूर्ण कोर्समध्ये 500 मिनी-लेक्चर्स आणि 1200 (!) व्यावहारिक कार्ये असतात . कार्ये लहान आहेत, परंतु ती असंख्य आहेत. त्यांपैकीं त्‍यांच्‍यामध्‍ये पुष्कळ आहे. तेवढेच किमान, जे केल्याने तुम्हाला इतका मौल्यवान अनुभव मिळेल. जोड्यांमध्ये काम, विविध खेळ, मोठे कार्य, वास्तविक प्रकल्प आणि इतर प्रकारचे सराव देखील आहे.

4 तुम्ही गेम पूर्ण करू शकत नाही आणि डेव्हलपर बनू शकत नाही

कोर्समध्ये 40 स्तर आहेत. तुम्ही पुढील स्तरावर जाऊ शकता, फक्त जर तुम्ही सध्याच्या स्तरावरील कामांचा अधिक भाग सोडवला असेल. थोडे आणि सोपे सह सुरू, मोठ्या आणि अतिशय उपयुक्त सह समाप्त. शेवटपर्यंत पोहोचलेल्या प्रत्येक व्यक्तीला 300-500 तासांचा व्यावहारिक अनुभव मिळेल. आणि हे जिंकण्याची उत्तम संधी देते. आणि नोकरी मिळवण्यासाठी.

5 ध्येयाभिमुख नोकरीच्या मुलाखतीची तयारी

शेवटचे 10 स्तर रेझ्युमे लिहिण्यासाठी, मुलाखतीची तयारी करण्यासाठी आणि टीम-वर्कची कौशल्ये प्राप्त करण्यासाठी समर्पित आहेत. नोकरीच्या मुलाखतींचे व्हिडिओ आणि त्यांचे विश्लेषण जोडले जातील. बरं आणि, नक्कीच, उत्तरांसह मुलाखतीवरील ठराविक प्रश्न. जुनी पातळी 02 - 2

6 तुम्ही साइटवर थेट कार्ये सोडवू शकता

हे खूप सुलभ आणि प्रभावी आहे. व्याख्यानातील नवीन कार्याचे नुकतेच विश्लेषण केल्यावर, तुम्हाला साइटवर, येथेच साधर्म्याने स्वतःचे बनवावे लागेल. ज्यांना IDE मध्ये टास्क करायचे आहे त्यांच्यासाठी एक प्लगइन आहे जो तुम्हाला दोन क्लिकमध्ये एखादे टास्क प्राप्त करण्यास आणि एक चेक इन करण्यासाठी ते हस्तांतरित करण्यास सक्षम करते . व्याख्याने, उदाहरणांचे विश्लेषण, वेब-साइटवर थेट कार्ये सोडवणे, IDE मधील कार्ये सोडवणे - सिद्धांत आणि सराव यांच्यातील अंतर पूर्वी कधीही नव्हते इतके पातळ आहे.

7 झटपट कार्य तपासा (सेकंदापेक्षा कमी वेळेत)

जेव्हा तुम्ही तपासणीसाठी एखादे काम/काम सोपवले आणि एक आठवडा निकालाची वाट पहावी लागली, कारण ती तपासणारी व्यक्ती व्यस्त आहे, अशा परिस्थितीशी तुम्ही परिचित आहात का? बहुतेक ऑफलाइन अभ्यासक्रमांच्या बाबतीत हेच आहे. CodeGym मध्ये तुम्हाला "Execute/Check" बटण दाबल्यानंतर एका सेकंदापेक्षा कमी वेळात तुमच्या टास्क सोल्यूशनचे संकलन आणि तपासणीचे परिणाम मिळतील.

8 CodeGym ला ते आवडते, जेव्हा तुम्ही अभ्यासादरम्यान Facebook वर वेळ घालवता

Facebook वर प्रकल्पाला समर्पित एक पेज आहे. यामध्ये तुम्हाला मनोरंजक तांत्रिक लेख, प्रेरक कथा, CodeGym बातम्या आणि इतर बरीच उपयुक्त माहिती मिळू शकते.

9 कव्हरेज

व्याख्यानांमध्ये वेगवेगळ्या वेबसाइट्सचे अनेक संदर्भ असतात, जिथे तुम्ही इतर व्याख्यात्यांची स्पष्टीकरणे वाचू शकता. माझे उद्दिष्ट हे आहे की तुम्हाला साहित्य समजले पाहिजे, फक्त माझे ऐकू नका.

10 डेव्हलपर होण्यासाठी तुम्हाला फक्त तुमचा मेंदू आणि संगणक आवश्यक असेल

तुम्ही किती वेळ सराव करता यावर तुम्हाला ३ ते ६ महिने लागतील.

11 समर्थन

जुनी पातळी 02 - 3हजारो कामांना सामोरे जाताना प्रश्न निर्माण होतील यात शंका नाही. आम्ही एक विशेष सेवा स्थापन केली आहे, जिथे तुम्ही कार्यांबद्दल प्रश्न विचारण्यास सक्षम असाल. इतर CodeGym-विद्यार्थी, नियंत्रक, स्वयंसेवक आणि सेवेचे संस्थापक सदस्य तुम्हाला उत्तर देतील.

12 समुदाय

एकात्मतेतच ताकद असते, असा आमचा विश्वास आहे. म्हणून आम्ही समुदाय तयार केला आहे, जिथे तुम्ही प्रश्न विचारू शकता; विविध विषयांवर चर्चा करा, लेख आणि ब्लॉग शेअर करा. याशिवाय, ओळखीच्या ठिकाणी नोकरी मिळवण्यासाठी समुदाय हे एक आदर्श ठिकाण आहे. म्हणून मोकळ्या मनाने स्मार्ट प्रश्न विचारा आणि स्मार्ट उत्तरे द्या. तुम्ही जितके सक्रिय राहाल आणि इतरांना मदत कराल, तितकीच शक्यता जास्त असेल की असोसिएशनचे इतर सदस्य तुम्हाला त्यांच्या प्रकल्पात सामील होण्यासाठी सुचवतील.

तुम्ही एका नवीन स्तरावर पोहोचला आहात

स्तर 2

जुनी पातळी 02 - 4

1 एली, सर्वांचा आधार

- अहो, अमिगो. आज मी तुम्हाला सांगू इच्छितो की जावा प्रोग्रामची रचना कशी केली जाते. मुद्दा असा आहे की प्रत्येक Java प्रोग्राममध्ये वर्ग आणि ऑब्जेक्ट असतात . - मला आधीच माहित आहे की वर्ग काय आहेत. आणि वस्तू काय आहेत? - लहान जहाजाच्या बांधणीशी साधर्म्य साधून, प्रथम, आपल्याला एक रेखाचित्र बनवावे लागेल आणि नंतर ते शिपयार्डला द्यावे लागेल. या रेखांकनाच्या आधारे जहाज असेंबल केले जाईल. किंवा पाच जहाजे. वास्तविक, आपल्याला पाहिजे तितके. डझनभर एकसारखी जहाजे एका रेखांकनावर आधारित आहेत, एवढेच! - जावा प्रोग्रामिंगमधील सर्व गोष्टी अगदी सारख्याच आहेत. - प्रोग्रामर हा डिझाईन इंजिनीअरसारखा असतो. आणि जर डिझाईन इंजिनियरला रेखाचित्रे काढायची असतील तर Java प्रोग्रामरला वर्ग लिहावे लागतील. त्यानंतर, रेखाचित्रांच्या आधारे भाग बनवले जातात आणि वस्तू वर्गांच्या आधारे बनविल्या जातात. - प्रथम, आम्ही वर्ग लिहितो (रेखांकन करतो), आणि नंतर प्रोग्राम रनटाइममध्ये, Java व्हर्च्युअल मशीन या वर्गांचा वापर करून वस्तू तयार करते. अगदी त्याच पद्धतीने जहाजे बनवली जातात. एक रेखाचित्र आणि बरीच जहाजे आहेत. वेगवेगळी नावं असलेली आणि विविध मालवाहतूक करणारी जहाजं आहेत. तथापि, ते खूप समान आहेत: त्यांच्या सर्वांची रचना समान आहे आणि समान कार्ये करू शकतात. - जहाजांच्या बाबतीत, सर्व काही स्पष्ट आहे. हे नक्की काय आहे हे समजून घेण्यासाठी मला आणखी काही तुलना द्या? - नक्कीच. उदाहरणार्थ, मधमाश्या ... जुनी पातळी 02 - 5- अरे नाही, एक क्षण थांबा, मधमाश्या मला काहीतरी वाईट आठवण करून देतात. अँथिलचा चांगला विचार करा. - अँथिल हे ऑब्जेक्ट परस्परसंवादाचे एक चांगले उदाहरण आहे. सर्वात सोप्या अँथिलमध्ये, मुंग्यांचे तीन वर्ग आहेत: एक राणी, सैनिक आणि कामगार मुंग्या. प्रत्येक वर्गासाठी मुंग्यांच्या संख्येत फरक आहे. राणी घरट्यात एकटी आहे; तेथे असंख्य सैनिक आणि शेकडो कार्यरत मुंग्या आहेत. तर, आपण असे म्हणू शकतो की तीन वर्ग आणि शेकडो वस्तू आहेत. मुंग्या एकमेकांशी संवाद साधतात, त्याच मुंग्या आणि इतर वर्गातील मुंग्या कठोर नियमांनुसार. - हे एक परिपूर्ण उदाहरण आहे. ठराविक प्रोग्रामसाठी, हे सर्व समान आहे. मुख्य ऑब्जेक्ट इतर सर्व वर्गांच्या वस्तू तयार करतो. ऑब्जेक्ट्स एकमेकांशी आणि प्रोग्रामच्या "बाह्य जगाशी" संवाद साधू लागतात. वस्तूंचे वर्तन त्यांच्या आत हार्डकोड केलेले असते. - मला नीट समजत नाही. उलट, अजिबात समजत नाही. - हे दोन स्पष्टीकरण एकाच नाण्याच्या वेगवेगळ्या बाजू आहेत. सत्य मधेच कुठेतरी आहे. पहिले उदाहरण (रेखाचित्र आणि जहाजे असलेले) वर्ग आणि या वर्गातील वस्तू यांच्यातील संबंध दर्शविते. साम्य अगदी जवळचे आहे. दुसरे उदाहरण (अँथिल असलेले) लिखित वर्ग आणि रनटाइममध्ये अस्तित्वात असलेल्या वस्तू यांच्यातील संबंध दर्शविते. - तुम्हाला असे म्हणायचे आहे का की प्रथम आपल्याला प्रोग्राममध्ये अस्तित्वात असलेल्या सर्व ऑब्जेक्ट्ससाठी वर्ग लिहावे लागतील आणि आणखी काय, त्यांच्या परस्परसंवादाचे वर्णन करा? - होय, परंतु हे दिसते त्यापेक्षा सोपे आहे. Java मध्ये, प्रोग्राम रनटाइममधील सर्व गोष्टी ऑब्जेक्ट्स असतात आणि जेव्हा तुम्ही प्रोग्राम लिहिता, तेव्हा तुम्ही ऑब्जेक्ट परस्परसंवादाच्या विविध मार्गांचे वर्णन केले पाहिजे. ऑब्जेक्ट्स फक्त एकमेकांच्या पद्धती कॉल करतात आणि त्यांना आवश्यक डेटा पास करतात. - हे स्पष्ट नाही, परंतु जवळजवळ स्पष्ट आहे. - परंतु आपल्याला कोणत्या पद्धती कॉल कराव्यात आणि आपल्याला कोणत्या पद्धतींना पास करण्याची आवश्यकता आहे हे कसे समजेल? - वर्ग कशासाठी तयार केला गेला हे निर्दिष्ट करण्यासाठी प्रत्येक वर्गाचे त्याचे वर्णन आहे. प्रत्येक पद्धतीमध्ये ती काय करते आणि त्यावर कोणता डेटा पाठवला जावा याचे त्याचप्रमाणे वर्णन असते. वर्ग वापरण्यासाठी, तुम्हाला ते काय करते हे सर्वसाधारणपणे माहित असणे आवश्यक आहे. याशिवाय, या वर्गाची प्रत्येक पद्धत नेमकी काय करते हे आपल्याला माहित असणे आवश्यक आहे. परंतु ते कसे केले जाते हे आपल्याला माहित असणे आवश्यक नाही . हे जादूसारखं आहे. - हंफ. असे वाटते.   - येथे, फाईल कॉपी करणारा वर्ग कोड पहा: जुनी पातळी 02 - 6- हे इतके सोपे नाही, परंतु मला चित्र आधीच मिळाले आहे. - ठीक आहे. नंतर भेटू, मगर!

2 रिशा, चल आणि आदिम प्रकार

- अहो, मुक्त श्रम. - म्हणजे, "हाय, अमिगो". मी तुम्हाला व्हेरिएबल्सच्या अंतर्गत संरचनेशी परिचित करू इच्छितो. तुम्हाला आधीच माहित आहे की प्रत्येक व्हेरिएबलमध्ये त्याच्याशी संबंधित मेमरी असते, जिथे व्हेरिएबल त्याचे मूल्य साठवते. - होय. तुम्ही मागच्या वेळी सांगितले होते. - ठीक आहे. तुम्ही ते लक्षात ठेवले ही चांगली गोष्ट आहे. मग मी चालू ठेवेन. - वर्ग . जेव्हा आपण प्रोग्राममध्ये नवीन वर्गाचे वर्णन करतो, तेव्हा याचा अर्थ असा होतो की आपण नवीन जटिल कंपाऊंड प्रकार घोषित करतो , जो डेटा एकतर इतर जटिल प्रकार किंवा आदिम प्रकार असेल. जुनी पातळी 02 - 7- हे एक आश्चर्य साठी अजूनही स्पष्ट आहे. - मोठ्या (जटिल) प्रकारांमध्ये पुष्कळ लहान (आदिम) असतात, त्‍यांच्‍या वस्तू पुष्कळ स्‍मृती वापरतात. नेहमीच्या प्रिमिटिव्ह टाईप व्हेरिएबल्सपेक्षा जास्त. कधीकधी बरेच काही. जटिल प्रकारांच्या व्हेरिएबल्सच्या असाइनमेंटसाठी बराच वेळ लागला आणि मोठ्या प्रमाणात मेमरी कॉपी करणे आवश्यक आहे. म्हणूनच कॉम्प्लेक्स टाईप व्हेरिएबल्स स्वतः ऑब्जेक्ट ठेवत नाहीत, तर केवळ ऑब्जेक्ट संदर्भ (म्हणजे चार-बाइट अॅड्रेस आहे). ऑब्जेक्ट डेटामध्ये प्रवेश करण्यासाठी हे पुरेसे आहे. JVM संबंधित सर्व अडचणी स्वीकारते. - मला ते समजत नाही. - आपण आधीच चर्चा केली आहे की व्हेरिएबल बॉक्ससारखे आहे. त्यात 13 संग्रहित करण्यासाठी, आपण कागदाच्या शीटवर नंबर लिहू शकता आणि बॉक्समध्ये ठेवू शकता. - आता कल्पना करा की तुम्हाला बॉक्समध्ये (व्हेरिएबल) थोडे मोठे काहीतरी साठवायचे आहे. उदाहरणार्थ, कुत्रा, कार किंवा तुमचा शेजारी जो. सोपे करण्यासाठी तुम्ही एक सोपी गोष्ट करू शकता: कुत्र्याऐवजी कुत्र्याचे चित्र, कारच्या ऐवजी कारची नंबर प्लेट आणि जोचा फोन नंबर कागदाच्या शीटवर जो स्वत: ऐवजी लिहा. - आता आम्ही कागदाचा तुकडा घेतो आणि त्यावर जोचा फोन नंबर लिहितो. हे ऑब्जेक्ट संदर्भासारखे आहे. जर आपण बॉक्समधून एक शीट काढली ज्यावर जोचा नंबर लिहिलेला आहे, त्याच्या प्रती बनवा आणि दोन बॉक्समध्ये ठेवल्या तर जोचे संदर्भ वाढतील, परंतु एकच जो असू शकतो. - अशा डेटा स्टोरेजचा फायदा म्हणजेअनेक संदर्भ असू शकतात आणि फक्त एकच वस्तू . - हे रोमांचक आहे. तसे, मला जवळजवळ समजले. फक्त आणखी एका प्रश्नाचे उत्तर द्या: जर मी जटिल प्रकार व्हेरिएबल दुसर्‍या जटिल प्रकारच्या व्हेरिएबलला नियुक्त केले तर काय होईल? - मग या दोन व्हेरिएबल्समध्ये एकच पत्ता असेल. आणि, म्हणून, जर तुम्ही एका जटिल प्रकारच्या व्हेरिएबलमध्ये संचयित केलेला डेटा बदलला तर, दुसऱ्याचा डेटा देखील बदलला जाईल . कारण तुम्हाला माहीत आहे की , व्हेरिएबल्समध्ये फक्त एकच ऑब्जेक्ट आहे ज्याचा संदर्भ आहे. असे असले तरी, अनेक व्हेरिएबल्स असू शकतात जे ऑब्जेक्टचे संदर्भ संग्रहित करतात. - आणि ऑब्जेक्ट संदर्भ नसताना कॉम्प्लेक्स टाइप व्हेरिएबल्समध्ये (संदर्भ/वर्ग प्रकार) काय साठवले जाते? खरंच असं काही असू शकतं का? - होय, अमिगो. तू माझ्या तोंडून शब्द काढलेस. असे होऊ शकते. संदर्भ (जटिल) प्रकार व्हेरिएबलमध्ये ऑब्जेक्ट संदर्भ नसल्यास, ते null , एक विशेष «नल संदर्भ» संग्रहित करते. खरं तर, ते फक्त 0 च्या बरोबरीच्या ऑब्जेक्टचा पत्ता संग्रहित करते. परंतु Java Virtual Machine कधीही शून्य पत्त्यासह ऑब्जेक्ट्स तयार करत नाही, म्हणून त्याला नेहमी माहित असते की जर संदर्भ व्हेरिएबल 0 असेल, तर तेथे कोणतेही ऑब्जेक्ट नाही. जुनी पातळी 02 - 8मला ते बरोबर पटते का? व्हेरिएबल्स दोन प्रकारात विभागलेले आहेत - आदिम आणि संदर्भ. एक आदिम प्रकार व्हेरिएबल मूल्य संचयित करते तर संदर्भ प्रकार व्हेरिएबल ऑब्जेक्ट संदर्भ संचयित करते. आदिम प्रकार int, char, boolean, आणि काही अधिक आहेत. बाकी रेफरन्स व्हेरिएबल्स आहेत, ते क्लासेस वापरून बनवले जातात. - ते बरोबर आहे, मुला.

3 एली, कोणत्या वस्तू आहेत

जुनी पातळी 02 - 9- येथे तुमचे आवडते शिक्षक पुन्हा आहेत. आम्ही वेगाने पुढे जात असल्याने, मी तुम्हाला वस्तू काय आहेत आणि त्यांच्याशी कसे व्यवहार करतो ते सांगेन. - कोणतीही वस्तू तयार करण्यासाठी, तुम्हाला ऑब्जेक्ट प्रकाराचे नाव (वर्ग) आणि त्याच्या आधी नवीन कीवर्ड लिहावा लागेल . म्हणा की आमच्याकडे क्लास कॅट आहे, मग: जुनी पातळी 02 - 10- तुम्ही फक्त एखादी वस्तू तयार केली आणि ती [त्याचा संदर्भ] कोणत्याही व्हेरिएबलला न दिल्यास काय होईल? - तुम्ही असे केल्यास, जावा व्हर्च्युअल मशीन ऑब्जेक्ट तयार करेल आणि ताबडतोब कचरा (न वापरलेले ऑब्जेक्ट) घोषित करेल. काही काळानंतर, तो कचरा गोळा करताना ती वस्तू हटवेल. - मला यापुढे गरज नसल्यास मी वस्तू कशी नष्ट करू शकतो? - आपण करू शकत नाही.ऑब्जेक्ट संदर्भ संचयित करण्यासाठी कोणतेही व्हेरिएबल नसल्यामुळे, ऑब्जेक्ट कचरा म्हणून ध्वजांकित केला जाईल आणि पुढील कचरा संकलनादरम्यान JVM त्याचा नाश करेल. जोपर्यंत किमान एक ऑब्जेक्ट संदर्भ असेल तोपर्यंत तो थेट मानला जाईल आणि नष्ट केला जाणार नाही. जेव्हा तुम्हाला ऑब्जेक्ट त्वरीत नष्ट करायचा असेल, तेव्हा त्याचे सर्व संदर्भ null वर सेट करा, म्हणजेच त्या ऑब्जेक्टचा संदर्भ असलेल्या सर्व व्हेरिएबल्सना शून्य मूल्य नियुक्त करा. - समजले. मागील लेक्चर्सनंतर हे अजिबात अवघड नाही असे दिसते. - ठीक आहे, तुमची कौशल्ये सुधारण्यासाठी तुमच्यासाठी येथे काही कार्ये आहेत. हे System.out वर देखील आहेत. पण नंतर आणखी कठीण होणार आहे. आणि तुम्ही कोणत्या स्टीलचे बनलेले आहात ते तुम्ही आम्हाला दाखवू शकता.
कार्ये
एक प्रोग्राम लिहा जो प्रदर्शित करेल: "चरण-दर-चरण आणि गोष्ट पूर्ण झाली."
2 7 वेळा प्रदर्शित करणारा प्रोग्राम लिहा: "अशक्य करणे ही एक प्रकारची मजा आहे."
3 प्रदर्शित करणारा प्रोग्राम लिहा: "नेहमी काहीतरी उपयुक्त शिकण्याची इच्छा."

4 रिशा, व्हेरिएबल्सची दृश्यमानता.

- हाय, माझा आवडता विद्यार्थी. आता मी तुम्हाला व्हेरिएबल्सच्या दृश्यमानतेबद्दल सांगेन . - का, अदृश्य व्हेरिएबल्स देखील आहेत? - नाही, व्हेरिएबल कोडच्या ठिकाणी दृश्यमान आहेत जेथे ते व्हेरिएबल ऍक्सेस केले जाऊ शकते. काही व्हेरिएबल्स प्रोग्राममध्ये कोठूनही ऍक्सेस करता येतात, इतर फक्त त्यांच्या वर्गात आणि काही व्हेरिएबल्स फक्त एका पद्धतीमध्ये ऍक्सेस करता येतात. - उदाहरणार्थ, व्हेरिएबल घोषित होण्यापूर्वी तुम्ही त्याचा संदर्भ घेऊ शकत नाही. - हे स्पष्ट आहे. - येथे काही उदाहरणे आहेत: जुनी पातळी 02 - 111 मेथडमध्ये घोषित केलेले व्हेरिएबल अस्तित्वात आहे/डिक्लेरेशनच्या सुरुवातीपासून ते मेथडच्या शेवटपर्यंत दृश्यमान आहे. 2 कोड ब्लॉकमध्ये घोषित केलेले व्हेरिएबल या कोड ब्लॉकच्या शेवटी अस्तित्वात आहे. 3 व्हेरिएबल्स - पद्धत वितर्क - पद्धतीच्या व्याप्तीमध्ये कुठेही अस्तित्वात आहेत. 4 वर्ग / ऑब्जेक्ट्स व्हेरिएबल्स त्यांच्या ऑब्जेक्टच्या संपूर्ण जीवनकाळात अस्तित्वात असतात. विशेष ऍक्सेस मॉडिफायर सार्वजनिक आणि खाजगी याव्यतिरिक्त त्यांची दृश्यमानता नियंत्रित करतात. 5 स्टॅटिक क्लास व्हेरिएबल्स प्रोग्राम रनटाइमवर अस्तित्वात आहेत. प्रवेश सुधारक त्यांची दृश्यमानता देखील निर्धारित करतात. - मला चित्रे आवडतात, सर्व काही ठिकाणी येते. - तुमच्यासाठी चांगले, अमिगो. आपण एक हुशार सहकारी आहात हे नेहमीच माहित होते. - मी तुम्हाला ऍक्सेस मॉडिफायर्सबद्दल देखील सांगेन . इतके घाबरू नका, हे रॉकेट सायन्स नाही. हे सार्वजनिक आणि खाजगी असे शब्द आहेत जे तुम्हाला दिसतात. - मला भीती वाटत नाही, इथे फक्त थंडी आहे. - हो नक्की. तुम्ही तुमच्या वर्गातील पद्धती आणि व्हेरिएबल्सचा प्रवेश (दृश्यता) इतर वर्गांमधून नियंत्रित करू शकता. प्रत्येक पद्धतीसाठी किंवा व्हेरिएबलसाठी, तुम्ही फक्त एक प्रवेश सुधारक निर्दिष्ट करू शकता. 1 मॉडिफायर पब्लिक मॉडिफायर पब्लिकसह फ्लॅग केलेले व्हेरिएबल, मेथड किंवा क्लास प्रोग्राममधील कुठूनही ऍक्सेस करता येतो. हे निर्बंधाशिवाय, मोकळेपणाची सर्वोच्च पदवी आहे. 2 मॉडिफायर प्रायव्हेट मॉडिफायर प्रायव्हेटसह ध्वजांकित व्हेरिएबल किंवा मेथड फक्त ज्या क्लासमधून घोषित केले आहे तिथूनच प्रवेश केला जाऊ शकतो. इतर सर्व वर्गांसाठी, ध्वजांकित पद्धत किंवा व्हेरिएबल अदृश्य आहेत, जसे की ते अस्तित्वात नाहीत. हे बंदिस्ततेचे सर्वोच्च प्रमाण आहे (केवळ त्याच वर्गातून दृश्यमान). 3 मॉडिफायर डीफॉल्ट जर कोणताही सुधारक व्हेरिएबल किंवा पद्धत फ्लॅग करत नसेल, तर तो सुधारक डीफॉल्ट मानला जातो. त्या मॉडिफायरसह व्हेरिएबल्स किंवा पद्धती (म्हणजे कोणत्याही प्रकाराशिवाय) ते घोषित केलेल्या पॅकेजच्या सर्व वर्गांना दृश्यमान आहेत. फक्त त्याच पॅकेजमध्ये. व्हेरिएबल्स आणि पद्धतींमध्ये प्रवेश करणे शक्य आहे हे सूचित करण्यासाठी या सुधारकाला कधीकधी पॅकेज म्हटले जाते , ज्याचा वर्ग स्पष्टीकरण टॅबचा आहे:जुनी पातळी 02 - 12

5 डिएगो, व्हेरिएबल्सचा समूह तयार करण्यासाठी कार्ये

- अरे मित्रा. आवश्यक असल्यास, मी तुमच्यासाठी कराराची एक प्रत ठेवतो. तो चोरटा स्वस्तस्केट रिशा आनंदाने अनभिज्ञ आहे. तुम्ही माझ्या करारातील रक्कम पाहिली असावी. हे, हे. - शाब्बास, डिएगो. मला वाटते की तुम्ही मला खऱ्या उपयुक्त गोष्टी शिकवता. - नक्कीच, अमिगो. कष्टाशिवाय लाभ नाही. पण तरीही कोणी नफा न घेता दुःख सहन करतो. - चला अभ्यासाकडे हात फिरवूया. आता मी तुम्हाला वेगवेगळ्या प्रकारे व्हेरिएबल्सचा समूह कसा तयार करायचा ते दाखवतो: जुनी पातळी 02 - 13- व्वा, डिएगो! तू खूप हुशार आहेस. - हे, हे! धन्यवाद, अमिगो. - मला वाटते की तुम्ही माझी कामे आधीच चुकवली आहेत. तर त्यापैकी काही येथे आहेत. त्या माणसांना, एलियन्सना आमच्या रोबो-लाइफबद्दल काहीच माहिती नाही. माझ्याशिवाय तुला ते कोण शिकवणार?
कार्ये
3 वेळा प्रदर्शित करणारा प्रोग्राम लिहा: "अनेक लोक जिवंत आहेत कारण त्यांना शूट करणे बेकायदेशीर आहे."
2 प्रदर्शित करणारा एक प्रोग्राम लिहा: "मला तुमचे मत हवे असल्यास, मी तुम्हाला आवश्यक फॉर्म भरण्यास सांगेन."
3 20 वेळा प्रदर्शित करणारा प्रोग्राम लिहा: "मी सांगितलेल्या बहुतेक गोष्टी मी कधीही बोललो नाही."

6 एली, संदर्भानुसार उत्तीर्ण. संदर्भ चल

- अरे, अमिगो, मी पुन्हा आहे, एली. क्षमस्व, मी नेहमी असे म्हणतो, परंतु 31व्या शतकात पृथ्वीवर ज्या प्रकारे गोष्टी केल्या जातात त्याप्रमाणेच आहे. मी तुम्हाला संदर्भ व्हेरिएबल्सची वैशिष्ट्ये आणि फंक्शन्स (पद्धती) मध्ये संदर्भ युक्तिवाद कसे पास करायचे ते समजावून सांगेन. - मी तयार आहे. - मग, संदर्भ व्हेरिएबल्स हे आदिम वगळता सर्व प्रकारचे चल आहेत. या व्हेरिएबल्समध्ये फक्त ऑब्जेक्टचा पत्ता (ऑब्जेक्ट रेफरन्स) असतो. - आदिम प्रकारांचे व्हेरिएबल्स एक मूल्य आणि प्रकार संग्रहित करतात आणि क्लास व्हेरिएबल्स समान वर्गाच्या वस्तूंचे संदर्भ संग्रहित करतात, तसेच किंवा शून्य. मी बरोबर आहे का? - अगदी. - तर, संदर्भ काय आहे? - ऑब्जेक्ट आणि त्याचा संदर्भ जोडलेले आहेत, एक माणूस आणि त्याचा फोन नंबर प्रमाणे. फोन नंबर हा माणूस नसतो, परंतु एखाद्या माणसाला काहीतरी विचारण्यासाठी, त्याला मार्गदर्शन करण्यासाठी किंवा आज्ञा देण्यासाठी कॉल करण्यासाठी त्याचा वापर केला जाऊ शकतो. ऑब्जेक्टशी संवाद साधण्यासाठी संदर्भ देखील वापरला जातो. सर्व वस्तू संदर्भाद्वारे एकमेकांशी संवाद साधतात. - असे आहे की लोक फोनवर एकमेकांशी संवाद साधतात? - ते बरोबर आहे. जेव्हा तुम्ही एखादी आदिम वस्तू नियुक्त करता तेव्हा त्याचे मूल्य कॉपी केले जाते (डुप्लिकेट). जेव्हा तुम्ही संदर्भ व्हेरिएबल असाइन करता, तेव्हा फक्त ऑब्जेक्टचा पत्ता (फोन नंबर) कॉपी केला जातो, ऑब्जेक्टचीच नाही. - ओके, मला समजले. - संदर्भ आणखी एक फायदा देतो: तुम्ही कोणत्याही पद्धतीचा ऑब्जेक्ट संदर्भ देऊ शकता आणि ही पद्धत आमच्या ऑब्जेक्टचा संदर्भ वापरून त्याच्या पद्धती कॉल करून आणि ऑब्जेक्टमधील डेटा ऍक्सेस करून सुधारित (बदल) करण्यास सक्षम असेल. - a & bजुनी पातळी 02 - 14 व्हेरिएबल्सची व्हॅल्यू स्वॅप पद्धतीमध्ये बदलली जातात . जेव्हा तुम्ही स्वॅप पद्धतीला कॉल करता, तेव्हा a & b व्हेरिएबल्स m & n या मूल्यांच्या प्रती प्राप्त करतात . म्हणून, जेव्हा तुम्ही a & b ची मूल्ये बदलता तेव्हा m & n व्हेरिएबल्सची मूल्ये सारखीच राहतात . उजव्या स्तंभाच्या कोडमध्ये ते स्पष्टपणे दृश्यमान आहे. - खरे सांगायचे तर मला त्यातले काहीच मिळाले नाही. मला आणखी काही उदाहरणे देता येतील का? - संदर्भ प्रकाराच्या बाबतीत, तुम्ही असे करू शकता: जुनी पातळी 02 - 15- व्हेरिएबल्स a आणि b हे अनुक्रमे emma आणि alic चे संदर्भ नियुक्त केले जातात, a आणि b ची मूल्ये emma आणि alice या वस्तूंमध्ये बदलतात. - तर इतर वर्गांमध्येही वर्ग घोषित करणे शक्य आहे का? व्वा! - बाकीचे म्हणून, ते स्पष्ट नाही. - सर्व एकाच वेळी नाही.

7 एली, फंक्शन कॉल, रिटर्न व्हॅल्यू

- बरं, चला तर मग वळूया. मेथड कॉल कसे कार्य करते यावर आम्ही बोलू, आणि नंतर तुम्ही मागील व्याख्यानाकडे पुन्हा पाहण्याचा प्रयत्न करा, ठीक आहे? - करार! - ठीक आहे, मग मी तुम्हाला फंक्शन/मेथड कॉल आणि परत मिळालेल्या मूल्यांबद्दल सांगेन. - कमांड फंक्शन्समध्ये गटबद्ध केल्या आहेत, ज्यामुळे तुम्ही त्यांना एका ब्लॉकमध्ये, एक जटिल कमांड म्हणून चालवू शकता. हे करण्यासाठी, तुम्हाला फंक्शनचे नाव (पद्धत) लिहावे लागेल आणि नंतर कंसात नावाच्या पुढे मूल्ये आणि पॅरामीटर्स निर्दिष्ट करा. जुनी पातळी 02 - 16- वरील उदाहरणात, आम्ही पास केलेली स्ट्रिंग 4 वेळा दाखवणारे फंक्शन लिहिले. मग आम्ही फंक्शन प्रिंट 4 लाईन 6 मध्ये कॉल केले . - जेव्हा लाइन 6 च्या अंमलबजावणीचा विचार केला जातो तेव्हा प्रोग्राम 9 व्या ओळीवर जाईल आणि s व्हेरिएबलला "मला ते हलवायला आवडते, ते हलवा" असे मूल्य दिले जाईल. - नंतर 11-14 ओळी कार्यान्वित केल्या जातील, आणि शेवटी, फंक्शन पूर्ण होईल आणि प्रोग्राम 7 व्या ओळीने सुरू राहील. - पकडले. - तुम्ही फंक्शनला केवळ वितर्क (पॅरामीटर्स) पास करू शकत नाही तर फंक्शनच्या ऑपरेशनचा परिणाम (मूल्य) देखील देऊ शकता. हे कीवर्ड रिटर्न वापरून केले जाते. ते कसे दिसते ते येथे आहे: जुनी पातळी 02 - 17- मला वाटते की मी ते पकडत आहे. डावीकडे आणि उजवीकडे समान कोड आहे. डावीकडे, ते फक्त एक वेगळे कार्य म्हणून सादर केले आहे. - फंक्शन व्हॅल्यूची गणना करते आणि रिटर्न कमांड वापरून कॉल केलेल्यांना ते पास करते. निदान मला तरी असे वाटते. - मुळात, ते खरे आहे. - आणि शून्य प्रकार काय आहे? - काही फंक्शन्स फक्त काहीतरी करतात, परंतु आमची पद्धत मुख्य प्रमाणे कोणतीही मूल्ये मोजत नाहीत आणि परत करत नाहीत().त्या फंक्शन्ससाठी हे विशेष परिणाम प्रकार शून्य (रिक्त प्रकार) तयार केले गेले. - जर फंक्शन काहीही परत करत नसेल तर आपण काहीही का निर्दिष्ट करू शकत नाही? - प्रत्येक व्हेरिएबल कसे घोषित केले जाते याचा विचार करा: प्रकार आणि नाव. फंक्शन प्रकार, नाव आणि कंसांसह घोषित केले जाते. कंसानंतर फंक्शनचे नाव म्हणजे फंक्शन कॉल! - म्हणून मूल्य परत करणारी आणि मूल्य न देणारी फंक्शन्स दोन श्रेणींमध्ये विभाजित करण्यापेक्षा "रिक्त प्रकार" आणणे सोपे होते? - नक्की! माझ्या मुला, तू एक द्रुत विचार करणारा आहेस. - आणि मी रिक्त प्रकार कसा परत करू शकतो? - आपण करू शकत नाही. ते कसे कार्य करते ते येथे आहे: जेव्हा JVM परतावा कार्यान्वित करतेकमांड, ते रिटर्न शब्दाच्या उजवीकडे असलेल्या अभिव्यक्तीच्या मूल्याची गणना करते, ते मूल्य एका विशेष मेमरी क्षेत्रामध्ये संग्रहित करते आणि फंक्शनमधून त्वरित बाहेर पडते . फंक्शन कॉल केलेल्या ठिकाणी फंक्शन कॉलचा परिणाम म्हणून सेव्ह केलेले मूल्य वापरते. ते तुम्ही वरील उदाहरणात पाहू शकता. - तुम्हाला असे म्हणायचे आहे की जेथे int m = min(a,b) चे m = m2 मध्ये रूपांतर झाले ? - होय. फंक्शन कॉल केल्यानंतर सर्व काही कार्य करत राहते जसे की फंक्शनऐवजी त्याचा परिणाम त्याच ठिकाणी लिहिलेला असतो. ते वाक्य पुन्हा एकदा वाचा आणि शेवटच्या उदाहरणाचा कोड पहा. - हे फक्त सोपे दिसते, परंतु प्रत्यक्षात ते कठीण आहे. मला थोडेसे मिळाले आहे, एवढेच. - हे ठीक आहे.पहिल्या प्रयत्नात तुम्हाला जे आधीच माहीत आहे तेच तुम्ही समजू शकता. जितके जास्त तुम्ही तुमच्यासाठी नवीन क्षेत्रात आलात, तितकेच ते अस्पष्ट आहे. आणि परिणाम आणखी आश्चर्यकारक असेल. जसजसा वेळ जातो तसतसे सर्व काही स्पष्ट होते. - ठीक आहे, तसे असल्यास, चला पुढे चालू ठेवूया.

8 डिएगो

- अहो, अमिगो. तुमच्यासाठी ही काही कार्ये आहेत. आता तुम्ही System.out पेक्षा अधिक काही करण्यास सक्षम आहात. पूर्ण प्रयत्न कर! मी तुझ्यावर विश्वास ठेवतो!
कार्ये
किमान दोन संख्या
एक फंक्शन लिहा जे कमीतकमी दोन संख्या मिळवते.
2 कमाल दोन संख्या
एक फंक्शन लिहा जे जास्तीत जास्त दोन संख्या मिळवते.
3 किमान तीन संख्या
एक फंक्शन लिहा जे कमीतकमी तीन संख्या मिळवते.
4 किमान चार संख्या
एक फंक्शन लिहा जे किमान चार संख्या मिळवते.
फंक्शन min(a,b,c,d) ला फंक्शन min(a,b) वापरावे लागेल (कॉल)
स्ट्रिंग डुप्लिकेशन
पास केलेल्या स्ट्रिंगच्या तीन पट प्रदर्शित करणारे फंक्शन लिहा. प्रत्येक स्ट्रिंग नवीन ओळीवर असावी.
6 मजकूर प्रदर्शन
एक फंक्शन लिहा जे पास केलेली स्ट्रिंग (शब्द) एकाच ओळीत तीन वेळा प्रदर्शित करते.
शब्द स्पेसने वेगळे केले पाहिजेत आणि एकामध्ये विलीन होण्याची गरज नाही.

9 डिएगो, पूर्ण वर्गाचे नाव

जुनी पातळी 02 - 18- अहो, अमिगो, मला तुम्हाला पूर्ण वर्गाच्या नावांबद्दल सांगायचे आहे. - तुम्हाला आधीच माहित आहे की वर्ग पॅकेजमध्ये आहेत. तर, पूर्ण वर्गाचे नाव हे एक नाव आहे जे पॉइंट्सद्वारे विभक्त केलेल्या सर्व पॅकेजेस आणि वर्गाचे नाव समाविष्ट करते. उदाहरणे: जुनी पातळी 02 - 19 - तुमच्या स्वतःच्या कोडमध्ये वर्ग वापरण्यासाठी तुम्हाला त्याचे पूर्ण नाव नमूद करावे लागेल. तथापि, तुम्ही लहान नाव वापरू शकता - केवळ वर्गाचे नाव. हे करण्यासाठी, तुम्ही वर्ग घोषित करण्यापूर्वी तुम्हाला या वर्गाचे नाव निर्दिष्ट करून आयात शब्द जोडून "इम्पोर्ट" करणे आवश्यक आहे. java.lang (स्ट्रिंग, पूर्णांक,...) पॅकेजचे वर्ग डीफॉल्टनुसार आयात केले जातात. आपल्याला ते निर्दिष्ट करण्याची आवश्यकता नाही. उदाहरण: जुनी पातळी 02 - 20- लहान नावांच्या वापराचे उदाहरण: जुनी पातळी 02 - 21- मला समजले. - ठीक आहे.

10 प्राध्यापक, वर्ग आणि वस्तूंबद्दल व्याख्यान

जुनी पातळी 02 - 22- अहो, अमिगो. आशा आहे की एली आणि रिशा यांनी आज तुम्हाला जे काही सांगितले ते तुम्हाला समजले असेल. फक्त सुरक्षित राहण्यासाठी, मी वचन दिल्याप्रमाणे, पुढील सामग्रीचे दुवे येथे आहेत: 1 माझ्या नोट्स 2 Java मध्ये विचार करणे. त्या अद्भुत पुस्तकाबद्दल मी तुम्हाला आधीच सांगितले आहे. वाचाल तर छान होईल. - मला आशा आहे की तुम्ही ते पाहण्यासाठी वेळ काढाल. - अहेम. नक्कीच करेन!

11 ज्युलिओ

- अहो, अमिगो! आशा आहे की तुम्ही काही कठीण आणि कंटाळवाणे विश्रांतीसाठी आहात?

टिप्पण्या
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION