CodeGym /جاوا بلاگ /Random-SD /پراڻي سطح 02
John Squirrels
سطح
San Francisco

پراڻي سطح 02

گروپ ۾ شايع ٿيل

CodeGym - سکيا پروگرامنگ جاوا ۾

پراڻي سطح 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 تي ھڪڙو صفحو آھي جيڪو منصوبي لاء وقف آھي. ان ۾ توھان ڳولي سگھوٿا دلچسپ فني مضمون، ترغيب ڏيندڙ ڪھاڻيون، CodeGym خبرون ۽ ٻيون گھڻيون مفيد معلومات.

9 ڪوريج

ليڪچرن ۾ مختلف ويب سائيٽن جا ڪيترائي حوالا آهن، جتي توهان ٻين ليڪچررن جا وضاحت پڙهي سگهو ٿا. منهنجو مقصد اهو آهي ته توهان مواد کي سمجهو، رڳو مون کي ٻڌو نه.

10 توھان کي صرف پنھنجي دماغ ۽ ڪمپيوٽر جي ضرورت پوندي ڊولپر ٿيڻ لاءِ

اهو توهان کي 3 کان 6 مهينا وٺندو، ان تي منحصر آهي ته توهان ڪيترو وقت مشق ڪندا آهيو.

11 سپورٽ

پراڻي سطح 02 - 3ڪوبه شڪ ناهي ته سوال پيدا ٿيندا جڏهن توهان کي هزارين ڪمن کي منهن ڏيڻو پوندو. اسان هڪ خاص سروس قائم ڪئي آهي، جتي توهان ڪمن بابت سوال پڇڻ جي قابل هوندا. ٻيا CodeGym-شاگردن، منتظمين، رضاڪارن ۽ خدمت جا باني ميمبر توھان کي جواب ڏيندا.

12 ڪميونٽي

اسان يقين رکون ٿا ته طاقت اتحاد ۾ آهي. تنهن ڪري اسان ڪميونٽي ٺاهي، جتي توهان سوال پڇي سگهو ٿا؛ مختلف عنوانن تي بحث ڪريو، آرٽيڪل ۽ بلاگ حصيداري ڪريو. ان کان سواء، هڪ ڪميونٽي واقفيت تي نوڪري حاصل ڪرڻ لاء مثالي جڳهه آهي. تنهن ڪري سمارٽ سوال پڇڻ ۽ سمارٽ جواب ڏيڻ لاءِ آزاد ٿيو. توهان جيترو وڌيڪ سرگرم عمل ڪندا ۽ ٻين جي مدد ڪندا، اوترو وڌيڪ موقعا، ته انجمن جا ٻيا ميمبر توهان کي انهن جي پروجيڪٽ ۾ شامل ٿيڻ جي صلاح ڏيندا.

توهان هڪ نئين سطح تي پهچي ويا آهيو

سطح 2

پراڻي سطح 02 - 4

1 ايلي، سڀني جو بنياد

- هي، اميگو. اڄ مان توهان کي ٻڌائڻ چاهيان ٿو ته هڪ عام جاوا پروگرام ڪيئن ٺهيل آهي. نقطي اهو آهي ته هر جاوا پروگرام طبقن ۽ شين تي مشتمل آهي . - مون کي اڳ ۾ ئي خبر آهي ته ڪلاس آهن. ۽ شيون ڇا آهن؟ - هڪ ننڍڙي ٻيڙيءَ جي تعمير سان تشبيهه سان، پهرين، توهان کي هڪ ڊرائنگ ٺاهڻ جي ضرورت آهي، ۽ پوءِ ان کي ٻيڙيءَ جي ميدان ۾ ڏيو. هن ڊرائنگ جي بنياد تي هڪ ٻيڙي کي گڏ ڪيو ويندو. يا پنج ٻيڙيون. حقيقت ۾، جيترو توهان چاهيو. هڪ ڊرائنگ جي بنياد تي درجنين هڪجهڙا ٻيڙيون ٺهيل آهن، اهو ئي سڀ ڪجهه آهي! - جاوا پروگرامنگ ۾ سڀ شيون بلڪل ساڳيون آهن. - پروگرامر هڪ ڊزائن انجنيئر وانگر آهي. ۽ جيڪڏهن ڊيزائن انجنيئر کي ڊرائنگ ٺاهڻيون آهن، ته جاوا پروگرامر کي ڪلاس لکڻو پوندو. ان کان پوء، حصا ٺاهيا ويا آهن ڊرائنگ جي بنياد تي، ۽ شيون ٺهيل آهن طبقن جي بنياد تي. - پھريون، اسين ڪلاس لکندا آھيون (ڊرائنگ ڪندا آھن)، ۽ بعد ۾ پروگرام جي رن ٽائم تي، جاوا ورچوئل مشين انھن ڪلاسن کي استعمال ڪندي شيون ٺاھيندي آھي. ساڳيءَ طرح ٻيڙيون ٺھيل آھن. اتي ھڪڙو ڊرائنگ ۽ ڪيترائي ٻيڙيون آھن. هتي مختلف جهاز آهن جن جا نالا مختلف آهن ۽ مختلف سامان کڻندا آهن. بهرحال، اهي تمام گهڻو هڪجهڙا آهن: انهن سڀني کي هڪ ئي ساخت آهي ۽ ساڳئي ڪمن کي انجام ڏئي سگهي ٿو. - ٻيڙن جي صورت ۾، سڀ ڪجهه واضح آهي. مون کي ڪجھ وڌيڪ مقابلو ڏيو ته سمجھڻ لاءِ ته اھو سڀ ڇا آھي؟ - ضرور. مثال طور، مکيون ... پراڻي سطح 02 - 5- او نه، هڪ لمحو انتظار ڪريو، مکيون مون کي ڪجهه خراب ياد ڏيارينديون آهن. هڪ anthill جي بهتر سوچيو. - هڪ anthill اعتراض رابطي جو هڪ سٺو مثال آهي. سڀ کان سادي انٿل ۾، چيلين جا ٽي طبقا آهن: هڪ راڻي، سپاهي ۽ ڪم ڪندڙ چيون. هر طبقي لاءِ ڪتن جي تعداد ۾ فرق آهي. راڻي اڪيلائي ۾ آهي؛ اتي ڪيترائي سپاهي ۽ سوين ڪم ڪندڙ چيون آهن. تنهن ڪري، اسان چئي سگهون ٿا، اتي ٽي طبقا ۽ سوين شيون آهن. چيليون هڪ ٻئي سان رابطو ڪن ٿيون، ساڳين چيتن ۽ ٻين طبقن جي چيلين سان سخت قاعدن مطابق. - اھو ھڪڙو مثالي مثال آھي. هڪ عام پروگرام لاء، اهو سڀ ڪجهه ساڳيو آهي. هڪ مکيه اعتراض ٻين سڀني طبقن جون شيون ٺاهي ٿو. شيون هڪ ٻئي سان رابطو ڪرڻ شروع ڪن ٿا ۽ پروگرام جي "ٻاهرين دنيا" سان. شين جو رويو انهن جي اندر سخت ڪوڊ ٿيل آهي. - مان بلڪل نه ٿو سمجھان. بلڪه، بلڪل نه سمجهي. - اهي ٻئي وضاحتون هڪ ئي سڪي جا مختلف پاسا آهن. سچ ڪٿي وچ ۾ آهي. پهريون مثال (جيڪو ڊرائنگ ۽ جهازن سان گڏ آهي) هن طبقي ۽ شين جي وچ ۾ تعلق ڏيکاري ٿو. مشابهت تمام ويجهو آهي. ٻيو مثال (جيڪو اينٿل سان گڏ) ڏيکاري ٿو لکيل طبقن ۽ شين جي وچ ۾ تعلق جيڪو رن ٽائيم تي موجود آهي. - ڇا توھان جو مطلب آھي ته پھريائين اسان کي پروگرام ۾ موجود سڀني شين لاءِ ڪلاس لکڻ گهرجن ۽ وڌيڪ ڇا آھي، انھن جي رابطي کي بيان ڪريو؟ - ها، پر اهو آسان آهي ان کان وڌيڪ لڳي ٿو. جاوا ۾، پروگرام جي رن ٽائم تي سڀ شيون شيون آهن، ۽ جڏهن توهان پروگرام لکندا آهيو، توهان کي بيان ڪرڻ گهرجي مختلف طريقن سان اعتراض جي رابطي جا. شيون صرف هڪ ٻئي جي طريقن کي سڏين ٿا ۽ ضروري ڊيٽا انهن ڏانهن منتقل ڪن ٿا. - اهو واضح ناهي، پر تقريبا واضح. - پر توهان ڪيئن ڄاڻو ٿا ته ڪهڙا طريقا ڪال ڪرڻ ۽ ڪهڙي ڊيٽا توهان کي طريقن ڏانهن منتقل ڪرڻ جي ضرورت آهي؟ - هر طبقي کي ان جي وضاحت ڪرڻ لاء وضاحت ڪئي وئي آهي ته ڪلاس ڪهڙي لاء ٺاهي وئي هئي. هر طريقي سان ان جي وضاحت ڪئي وئي آهي ته اهو ڇا ڪري ٿو ۽ ڪهڙي ڊيٽا کي ان ڏانهن موڪليو وڃي. طبقي کي استعمال ڪرڻ لاء، توهان کي عام طور تي ڄاڻڻ جي ضرورت آهي ته اهو ڇا ڪندو آهي. ان کان سواء، توهان کي ڄاڻڻ جي ضرورت آهي ته هن طبقي جو هر طريقو ڇا ڪندو آهي. پر توهان کي اهو ڄاڻڻ جي ضرورت ناهي ته اهو ڪيئن ڪيو ويو آهي . اهو هڪ قسم جو جادو آهي. - همف. ائين ٿو لڳي.   - هتي، هڪ ڪلاس ڪوڊ تي هڪ نظر آهي جيڪو هڪ فائل کي نقل ڪري ٿو: پراڻي سطح 02 - 6- اهو ايترو آسان ناهي، پر مون کي اڳ ۾ ئي تصوير حاصل آهي. - چڱو. پوءِ ملنداسين، ايليگيٽر!

2 ريشا، متغير ۽ ابتدائي قسم

- اي تون، مفت مزدور. - منهنجو مطلب آهي، "هاء، اميگو". مان توهان کي متغيرن جي اندروني ساخت کان واقف ڪرڻ چاهيان ٿو. توهان اڳ ۾ ئي ڄاڻو ٿا ته هر متغير ان سان لاڳاپيل ياداشت جو هڪ ٽڪرو آهي، جتي متغير ان جي قيمت کي محفوظ ڪري ٿو. - ها. توهان اهو آخري ڀيرو ٻڌايو. - چڱو. اها سٺي ڳالهه آهي ته توهان ان کي ياد ڪيو. پوء آئون جاري ڪندس. - ڪلاس . جڏهن اسان هڪ پروگرام ۾ هڪ نئين طبقي کي بيان ڪريون ٿا، ان جو مطلب اهو آهي ته اسان هڪ نئين پيچيده مرڪب قسم جو اعلان ڪريون ٿا ، جنهن ۾ ڊيٽا يا ته ٻيا پيچيده قسم يا پرائمري قسم هوندا. پراڻي سطح 02 - 7- اهو اڃا تائين هڪ عجب لاء واضح آهي. - جيئن ته وڏيون (پيچيده) قسمن تي مشتمل هونديون آهن گھڻن ننڍڙن (ابتدائي)، انهن جون شيون گهڻيون ميموري استعمال ڪن ٿيون. عام کان وڌيڪ پرائمري قسم جي متغيرات ڪندا آهن. ڪڏهن ڪڏهن گهڻو وڌيڪ. پيچيده قسم جي متغيرن جي تفويض گهڻو وقت ورتو ۽ ميموري جي وڏي مقدار کي نقل ڪرڻ جي ضرورت آهي. اهو ئي سبب آهي ته پيچيده قسم جي متغير شيون پاڻ کي نه، پر صرف هڪ اعتراض جو حوالو (جيڪو چار بائيٽ ايڊريس آهي). هي اعتراض ڊيٽا تائين رسائي لاء ڪافي آهي. JVM ان سان لاڳاپيل سڀني مشڪلاتن تي وٺندو آهي. - مون کي سمجهه ۾ نه ٿو اچي. - اسان اڳ ۾ ئي بحث ڪيو آهي ته متغير هڪ باڪس وانگر آهي. ان ۾ 13 ذخيرو ڪرڻ لاء، توهان ڪاغذ جي شيٽ تي نمبر لکي سگهو ٿا ۽ ان کي دٻي ۾ وجهي سگهو ٿا. - ھاڻي تصور ڪريو ته توھان کي ھڪڙي دٻي ۾ ذخيرو ڪرڻو پوندو (متغير) ڪجھھ ٿورڙو وڏو. مثال طور، هڪ ڪتو، هڪ ڪار، يا توهان جو پاڙيسري جو. انهي کي آسان ڪرڻ لاءِ توهان هڪ آسان ڪم ڪري سگهو ٿا: ڪتي جي تصوير بدران ڪتي جي تصوير، ڪار جي نمبر پليٽ ڪار جي بدران، ۽ جو فون نمبر ڪاغذ جي هڪ شيٽ تي جيڪو پاڻ جي بدران لکيو ويو آهي. - هاڻي اسان ڪاغذ جو ٽڪرو وٺون ٿا ۽ ان تي جوئي جو فون نمبر لکون ٿا. اهو هڪ اعتراض جي حوالي وانگر آهي. جيڪڏهن اسان دٻي مان هڪ شيٽ ڪڍون ٿا جنهن تي جوءَ جو نمبر لکيل آهي، ڪاپيون ٺاهيون ۽ هڪ ٻه خاني ۾ وجهي ڇڏيون، ته جوءَ جو حوالو وڌي ويندو، پر اتي فقط هڪ جوئي ٿي سگهي ٿو. - اهڙي ڊيٽا اسٽوريج جو فائدو اهو آهي ته اتي ڪيترائي حوالا ۽ صرف هڪ اعتراض ٿي سگهي ٿو . - اهو دلچسپ آهي. رستي ۾، مان تقريبا سمجهي چڪو آهيان. صرف هڪ وڌيڪ سوال جو جواب ڏيو: ڇا ٿيندو جيڪڏهن مان هڪ پيچيده قسم جي متغير کي ٻئي پيچيده قسم جي متغير کي تفويض ڪريان؟ - پوء اهي ٻه متغير ساڳيا ايڊريس تي مشتمل هوندا. ۽، تنهن ڪري، جيڪڏهن توهان هڪ پيچيده قسم جي متغير ۾ ذخيرو ٿيل ڊيٽا کي تبديل ڪيو، ته ٻئي جي ڊيٽا پڻ تبديل ٿي ويندي . ڇاڪاڻ ته توهان کي خبر آهي ، اتي واقعي صرف هڪ اعتراض آهي متغير اسٽور جو حوالو. تنهن هوندي به، اتي ٿي سگهي ٿو تمام گهڻيون متغيرات جيڪي شيون جي حوالي سان ذخيرو ڪن ٿيون. - ۽ پيچيده قسم جي متغيرن ۾ ڇا ذخيرو ٿيل آهي (حوالو/ڪلاس جو قسم) جڏهن ته ڪو به اعتراض نه آهي؟ ڇا واقعي اهڙي ڪا شيءِ ٿي سگهي ٿي؟ - ها، اميگو. تو منهنجي وات مان لفظ ڪڍيا آهن. اهو ٿي سگهي ٿو. جيڪڏهن ريفرنس (پيچيده) قسم جي متغير ۾ ڪو به اعتراض جو حوالو نه آهي، اهو ذخيرو رکي ٿو null ، هڪ خاص "null reference". حقيقت ۾، اهو صرف 0 جي برابر ڪنهن شئي جي ايڊريس کي محفوظ ڪري ٿو. پر جاوا ورچوئل مشين ڪڏهن به صفر ايڊريس سان شيون ٺاهي نه ٿي، ان ڪري اهو هميشه ڄاڻي ٿو ته جيڪڏهن ريفرنس ويريبل 0 آهي، ته پوء اتي ڪو اعتراض ناهي. پراڻي سطح 02 - 8ڇا مان سمجهان ٿو؟ متغير ٻن قسمن ۾ ورهايل آهن - ابتدائي ۽ حوالو. هڪ پرائمري قسم متغير هڪ قدر کي محفوظ ڪري ٿو جڏهن ته هڪ حوالو قسم متغير هڪ اعتراض جي حوالي سان ذخيرو ڪري ٿو. پرائمري قسمون int، char، boolean ۽ ڪجھ وڌيڪ آھن. باقي حوالا متغير آهن، اهي ڪلاس استعمال ڪندي ٺاهيا ويا آهن. - اھو صحيح آھي، ڇوڪرو.

3 ايلي، ڪهڙيون شيون آهن

پراڻي سطح 02 - 9- هتي توهان جي پسنديده استاد ٻيهر آهي. جيئن ته اسان تيزيءَ سان اڳتي وڌي رهيا آهيون، مان توهان کي ٻڌائيندس ته ڪهڙيون شيون آهن ۽ انهن سان ڪيئن ڊيل ڪجي. - ڪا به شئي ٺاھڻ لاءِ، توھان کي لکڻو پوندو اعتراض جي قسم جو نالو (ڪلاس) ۽ نئون لفظ ان کان اڳ. چئو ته اسان وٽ هڪ ڪلاس Cat آهي، پوءِ: پراڻي سطح 02 - 10- ڇا ٿيندو جيڪڏهن توهان صرف هڪ اعتراض ٺاهيو ۽ ان کي [ان جو حوالو] ڪنهن به متغير ڏانهن نه ڏيو؟ - جيڪڏھن توھان ائين ڪندا آھيو، جاوا ورچوئل مشين اعتراض ٺاھيندو ۽ فوري طور تي ان کي رد ڪري ڇڏيندو (غير استعمال ٿيل اعتراض). ٿوري دير کان پوء، اهو گندي گڏ ڪرڻ دوران انهي اعتراض کي ختم ڪري ڇڏيندو. - جيڪڏهن مون کي وڌيڪ ضرورت ناهي ته آئون اعتراض کي ڪيئن تباهه ڪري سگهان ٿو؟ - توهان نٿا ڪري سگهو. جيترو جلدي ڪو اعتراض جي حوالي سان ذخيرو ڪرڻ لاء ڪو به متغير نه آهي، اعتراض کي ردي جي طور تي نشان لڳايو ويندو ۽ JVM ايندڙ ڪچري کي گڏ ڪرڻ دوران ان کي تباهه ڪندو. جيستائين اتي گهٽ ۾ گهٽ هڪ اعتراض جو حوالو آهي، ان کي زنده سمجهيو ويندو ۽ تباهه نه ڪيو ويندو. جڏهن توهان اعتراض کي جلدي تباهه ڪرڻ چاهيو ٿا، ان جي سڀني حوالن کي null ڏانهن سيٽ ڪريو، اهو آهي، سڀني متغيرن کي هڪ null قدر مقرر ڪريو جيڪي ان اعتراض ڏانهن اشارو ڪن ٿا. - سمجهي ويس. پوئين ليڪچرن کان پوءِ اهو سڀ ڪجهه ڏکيو نٿو لڳي. - ٺيڪ آهي، پوءِ هتي ڪجھ ڪم آهن توهان لاءِ توهان جي صلاحيتن کي بهتر ڪرڻ لاءِ. اهي پڻ System.out تي آهن. پر اڳتي هلي وڌيڪ ڏکيائيون ٿينديون. ۽ توهان اسان کي ڏيکاري سگهو ٿا ته توهان ڪهڙي اسٽيل ٺاهي رهيا آهيو.
ڪم
1 هڪ پروگرام لکو جيڪو ڏيکاري ٿو: "قدم در قدم ۽ شيء ٿي وئي."
2 ھڪڙو پروگرام لکو جيڪو 7 ڀيرا ڏيکاري ٿو: "اھو قسم جو مزو آھي ناممڪن کي ڪرڻ."
3 هڪ پروگرام لکو جيڪو ڏيکاري ٿو: "هميشه ڪجهه مفيد سکڻ جي خواهش."

4 رِشا، ڏيکاءَ جو ڏيک.

- هيلو، منهنجو پسنديده شاگرد. ھاڻي مان توھان کي ٻڌايان ٿو variables جي visibility بابت . - ڇو، ڇا اتي پوشيده متغير پڻ آهن؟ - نه، متغير ڪوڊ جي جڳهن تي نظر اچن ٿا جتي اهي متغير تائين رسائي ٿي سگهن ٿيون. ڪجهه متغيرن کي ڪنهن به پروگرام ۾ ڪٿي به رسائي سگهجي ٿو، ٻيا صرف انهن جي طبقي ۾، ۽ ڪجهه متغيرن کي صرف هڪ طريقي سان رسائي سگهجي ٿو. - مثال طور، توهان متغير ڏانهن اشارو نه ٿا ڪري سگهو ان کان اڳ جو اعلان ڪيو وڃي. - اهو واضح آهي. - ھتي ڪجھ مثال آھن: پراڻي سطح 02 - 111 ھڪڙي طريقي ۾ بيان ڪيل متغير موجود آھي / بيان جي شروعات کان وٺي طريقي جي آخر تائين نظر اچي ٿو. 2 هڪ ڪوڊ بلاڪ ۾ اعلان ڪيل هڪ متغير هن ڪوڊ بلاڪ جي آخر تائين موجود آهي. 3 متغير - طريقو دليل - طريقي جي دائري جي اندر ڪٿي به موجود آهن. 4 ڪلاس/آبجڪس متغير پنهنجي اعتراض جي پوري حياتي دوران موجود آهن. خاص رسائي جي ترميمي عوامي ۽ نجي اضافي طور تي انهن جي نمائش کي ڪنٽرول ڪن ٿا. 5 جامد ڪلاس متغير پروگرام جي رن ٽائم تي موجود آهن. رسائي تبديل ڪندڙ پڻ انهن جي نمائش جو اندازو لڳائي ٿو. - مون کي تصويرن سان پيار آهي، هر شيء جاء تي پوي ٿو. - توهان لاء سٺو، اميگو. هميشه ڄاڻو ته توهان هڪ هوشيار ساٿي آهيو. - مان توهان کي رسائي موڊيفائرز بابت پڻ ٻڌايان ٿو . ايترو ڊپ نه ٿيو، اهو راڪيٽ سائنس ناهي. اهي لفظ عوامي ۽ پرائيويٽ آهن جيڪي توهان ڏسندا آهيو. - مان ڊپ نه آهيان، هتي رڳو ٿڌي آهي. - ها، يقينا. توھان ٻين ڪلاسن مان پنھنجي ڪلاس ۾ طريقن ۽ متغيرن جي رسائي (منظر) کي ڪنٽرول ڪري سگھو ٿا. هر طريقي يا متغير لاءِ، توھان وضاحت ڪري سگھوٿا صرف ھڪڙي رسائي موڊيفائر. 1 Modifier Public ھڪڙو متغير، طريقو يا طبقو جھنڊو آھي ھڪڙي موڊيفائر سان عوام کي پروگرام ۾ ڪٿي به پھچائي سگھجي ٿو. اهو اعليٰ درجي جو کليل آهي، بغير ڪنهن پابندي جي. 2 موڊيفائر پرائيويٽ ھڪڙو متغير يا طريقو ھڪڙي تبديل ڪندڙ پرائيويٽ سان پرچم ٿيل آھي صرف ان طبقي مان پھچي سگھي ٿو جتي اھو اعلان ڪيو ويو آھي. ٻين سڀني طبقن لاء، هڪ پرچم ٿيل طريقو يا متغير پوشيده آهن، ڄڻ ته اهي موجود نه آهن. اهو بندش جو بلند ترين درجو آهي (صرف ساڳئي طبقي مان نظر اچي ٿو). 3 موڊيفائر ڊفالٽ جيڪڏهن ڪو به موڊيفائر ڪنهن متغير يا طريقي کي پرچم نه ٿو ڏئي ته ان کي تبديل ڪندڙ ڊفالٽ سمجهيو ويندو آهي. متغير يا طريقن سان ان موڊيفائر (يعني بغير ڪنهن جي به) اهي پيڪيج جي سڀني طبقن کي نظر اچن ٿا جن ۾ اهي اعلان ڪيا ويا آهن. صرف هڪ ئي پيڪيج ۾. هن ترميمي کي ڪڏهن ڪڏهن پيڪيج سڏيو ويندو آهي انهي جو مطلب اهو آهي ته متغيرن ۽ طريقن تائين رسائي پوري پيڪيج لاءِ ممڪن آهي، جنهن جو انهن جو ڪلاس وضاحتي ٽئب سان تعلق رکي ٿو: پراڻي سطح 02 - 12

5 ڊياگو، متغيرن جو هڪ گروپ ٺاهڻ لاءِ ڪم

- هي دوست. جيڪڏهن ضرورت هجي، مان توهان لاءِ معاهدي جي ڪاپي رکان ٿو. اها ڳري سست اسڪيٽ ريشا خوشيءَ سان بي خبر آهي. توهان کي منهنجي معاهدي ۾ رقم ڏسڻ گهرجي. ها، ها. - چڱو ٿيو، ڊياگو. منهنجو خيال آهي ته توهان مون کي حقيقي مفيد شيون سيکاريو. - يقينا، اميگو. درد کان سواءِ ڪو فائدو ناهي. پر پوءِ به ڪو ماڻهو دردن کي برداشت ڪرڻ کان سواءِ حاصل ڪري ٿو. - اچو ته بهتر هٿ ڦيرايو پڙهائي ڏانهن. هاڻي آئون توهان کي ڏيکاريندس ته ڪيئن مختلف طريقن سان متغيرن جو هڪ گروپ ٺاهيو: پراڻي سطح 02 - 13- واهه، ڊيوگو! تون ڏاڍو هوشيار آهين. - ها، ها! مهرباني، اميگو. - مان سمجهان ٿو ته توهان اڳ ۾ ئي منهنجي ڪم کي وڃائي ڇڏيو آهي. تنهن ڪري هتي انهن مان ڪجهه آهن. اهي انسان، اجنبي اسان جي روبو زندگي بابت ڪجهه به نٿا ڄاڻن. مون کان سواءِ ڪير توکي اهو سيکاريندو؟
ڪم
1 ھڪڙو پروگرام لکو جيڪو 3 ڀيرا ڏيکاري ٿو: "ڪيترائي ماڻھو جيئرا آھن صرف ان ڪري جو انھن کي مارڻ غير قانوني آھي."
2 هڪ پروگرام لکو جيڪو ڏيکاري ٿو: "جيڪڏهن آئون توهان جي راء چاهيان ٿو، آئون توهان کي گهربل فارم ڀرڻ لاء چوندس.".
3 هڪ پروگرام لکو جيڪو 20 ڀيرا ڏيکاري ٿو: "مون ڪڏهن به نه چيو آهي اڪثر شيون جيڪي مون چيو."

6 ايلي، حوالي سان گذرڻ. حوالو متغير

- هي، اميگو، اهو ٻيهر آهيان، ايلي. معاف ڪجو مان هميشه اهو چوندو آهيان، پر اهو صرف اهو طريقو آهي جيڪو 31 صدي عيسويء ۾ ڌرتيء تي ڪيو ويو آهي. مان توهان کي وضاحت ڪندس ته حوالن جي متغيرن جون خاصيتون ۽ ڪئين حوالن واري دليلن کي افعال (طريقن) ڏانهن منتقل ڪيو وڃي. - مان تيار آهيان. - پوءِ، حوالو متغير سڀني قسمن جا متغير آهن سواءِ پريم جي. انهن متغيرن ۾ صرف اعتراض جو پتو (آبجڪٽ ريفرنس) هوندو آهي. - ابتدائي قسمن جا متغير هڪ قدر ۽ قسم کي محفوظ ڪن ٿا، ۽ طبقاتي متغير ساڳئي طبقي جي شين جي حوالي سان ذخيرو ڪن ٿا، چڱيء طرح، يا null. ڇا آئون صحيح آهيان؟ - بلڪل. - پوء، هڪ حوالو ڇا آهي؟ - اعتراض ۽ ان جو حوالو ڳنڍيل آهن، اسان کي چئو، هڪ ماڻهو ۽ سندس فون نمبر وانگر. هڪ فون نمبر هڪ ماڻهو ناهي، پر اهو استعمال ڪري سگهجي ٿو ڪنهن ماڻهو کي فون ڪرڻ لاءِ هن کان ڪجهه پڇڻ لاءِ، هدايت يا حڪم. ھڪڙو حوالو پڻ استعمال ڪيو ويندو آھي ھڪڙي اعتراض سان رابطو ڪرڻ لاء. سڀئي شيون حوالن ذريعي هڪ ٻئي سان لهه وچڙ ۾ اچن ٿيون. - اهو ڄڻ ته ماڻهو هڪ ٻئي سان فون تي ڳالهائي رهيا آهن؟ - اهو درست آهي. جڏهن توهان هڪ ابتدائي شئي کي تفويض ڪريو ٿا، ان جي قيمت نقل ڪئي وئي آهي (نقل ٿيل). جڏهن توهان هڪ حوالو متغير تفويض ڪريو ٿا، صرف اعتراض جو پتو (فون نمبر) نقل ڪيو ويو آهي، ۽ نه پاڻ کي اعتراض. - ٺيڪ، مون سمجهيو. - هڪ حوالو هڪ ٻيو فائدو پيش ڪري ٿو: توهان ڪنهن به طريقي سان اعتراض جي حوالي سان منتقل ڪري سگهو ٿا، ۽ اهو طريقو اسان جي اعتراض کي تبديل ڪرڻ جي قابل هوندو (تبديل) ان جي حوالن کي استعمال ڪندي ان جي طريقن کي ڪال ڪندي ۽ اعتراض جي اندر ڊيٽا تائين رسائي ڪندي. - variables a & bپراڻي سطح 02 - 14 جا قدر مٽجي ويا آھن ادل جي طريقي ۾ . جڏهن توهان ادل جي طريقي کي سڏيندا آهيو، متغير a & b انهن قدرن جون ڪاپيون حاصل ڪندا آهن m ۽ n . تنهن ڪري، متغيرن جا قدر m & n ساڳيا رهندا جڏهن توهان a & b جا قدر تبديل ڪندا . اهو ساڄي ڪالمن جي ڪوڊ ۾ واضح طور تي نظر اچي ٿو. - سچ پڇو، مون کي ڪجھ به نه مليو. ڇا مان ڪجھ وڌيڪ مثال ڏئي سگهان ٿو؟ - حوالن جي قسم جي صورت ۾، توھان ائين ڪري سگھو ٿا: - متغير a ۽ b کي مقرر ڪيو ويو آھي حوالو ايما ۽ ايلس لاءِ، ترتيب سان، a ۽ b قدر شيون ايما ۽ ايلس ۾ تبديل ٿين ٿيون. - پوء اهو ممڪن آهي ته ٻين طبقن جي اندر طبقن جو اعلان، پڻ؟ واهه! - باقي لاء، اهو واضح ناهي. - سڀ هڪ ئي وقت ۾ نه. پراڻي سطح 02 - 15

7 ايلي، فنڪشن ڪال، واپسي جي قيمت

- چڱو، پوءِ اچو ته چوڌاري ڦرون. اسان ڳالهائينداسين ته طريقو ڪال ڪيئن ڪم ڪري ٿو، ۽ پوء توهان ٻيهر ڪوشش ڪريو پوئين ليڪچر تي نظر، ٺيڪ؟ - ڊيل! - خير، پوءِ مان توهان کي ٻڌايان ٿو فنڪشن/طريقي ڪال ۽ قدرن بابت. - ڪمانڊن کي گروپن ۾ ورهايو ويو آھي، تنھنڪري توھان انھن کي ھڪڙي بلاڪ ۾ هلائي سگھوٿا، ھڪڙي پيچيده ڪمانڊ وانگر. هن کي ڪرڻ لاءِ، توهان کي فنڪشن جو نالو لکڻو پوندو (طريقو) ۽ پوءِ قوس ۾ نالو هيٺ ڏنل قدر ۽ پيرا ميٽر بيان ڪريو. پراڻي سطح 02 - 16- مٿين مثال ۾، اسان هڪ فنڪشن لکيو آهي جيڪو 4 ڀيرا منظور ٿيل اسٽرنگ کي ڏيکاري ٿو. ان کان پوء اسان لڪير 6 ۾ فنڪشن print4 کي سڏيو. - جڏهن اهو لڪير 6 جي عمل ۾ اچي ٿو، پروگرام 9 لڪير تي ٽپو ڏيندو، ۽ s variable کي هڪ قدر مقرر ڪيو ويندو "I like to move it, move it." - پوءِ لائين 11-14 تي عمل ڪيو ويندو، ۽ آخر ۾، فنڪشن مڪمل ٿي ويندو ۽ پروگرام 7 لائن سان جاري رهندو. - Gotcha. - توهان نه صرف فنڪشن ڏانهن دليلن (پيراميٽر) پاس ڪري سگهو ٿا، پر فنڪشن جي آپريشن جو نتيجو (قيمت) پڻ واپس ڪري سگهو ٿا. اهو لفظ واپسي استعمال ڪندي ڪيو ويندو آهي. ھتي آھي اھو ڇا ڏسڻ ۾ اچي ٿو: پراڻي سطح 02 - 17- مان سمجهان ٿو ته مان ان کي پڪڙي رهيو آهيان. اهو ساڳيو ڪوڊ آهي کاٻي ۽ ساڄي پاسي. کاٻي پاسي، اهو صرف هڪ الڳ فنڪشن طور پيش ڪيو ويو آهي. - فنڪشن ھڪڙي قيمت کي ڳڻيو آھي ۽ اھو انھن ڏانھن منتقل ڪري ٿو جن ان کي واپسي حڪم استعمال ڪندي سڏيو. گهٽ ۾ گهٽ مان ائين سمجهان ٿو. - بنيادي طور تي، اهو سچ آهي. - ۽ باطل جو قسم ڇا آهي؟ - ڪجھ فنڪشن صرف ڪجھ ڪم ڪن ٿا، پر ڪنھن به قدر کي ڳڻڻ ۽ واپس نه ٿا ڪن، جھڙوڪ اسان جو طريقو مين (). انھن ڪمن لاء اھو ھڪڙو خاص نتيجو قسم جي باطل (خالي قسم) ٺاھيو ويو آھي . - ڇو اسان صرف ڪجھ به وضاحت نه ڪري سگھون ٿا، جيڪڏھن ڪو فنڪشن ڪجھ به نه موٽائي؟ - بس سوچيو ته هر متغير کي ڪيئن قرار ڏنو ويو آهي: قسم ۽ نالو. هڪ فنڪشن جو قسم، نالو، ۽ قوس سان بيان ڪيو ويو آهي. فنڪشن جو نالو قوس جي پٺيان لڳندو آهي هڪ فنڪشن ڪال آهي! - پوءِ ”خالي قسم“ سان گڏ اچڻ آسان ٿي ويو ڪمن کي ٻن ڀاڱن ۾ ورهائڻ جي بجاءِ جيڪي قيمت واپس ڪن ۽ قيمت واپس نه ڪن؟ - بلڪل! تون تڪڙو سوچيندڙ آهين، منهنجو ڇوڪرو. - ۽ مان هڪ خالي قسم ڪيئن واپس ڪري سگهان ٿو؟ - توهان نٿا ڪري سگهو. هتي اهو ڪيئن ڪم ڪري ٿو: جڏهن JVM هڪ واپسي حڪم تي عمل ڪري ٿو، اهو لفظ واپسي جي ساڄي پاسي اظهار جي قيمت کي حساب ڪري ٿو، هڪ خاص ياداشت واري علائقي ۾ اهو قدر محفوظ ڪري ٿو ۽ فوري طور تي فنڪشن مان نڪرندو آهي . اهو محفوظ ڪيل قدر استعمال ڪري ٿو فنڪشن ڪال جي نتيجي ۾ ان جاءِ تي جتي فنڪشن سڏبو هو. توھان ان کي مٿين مثال ۾ ڏسي سگھو ٿا. - ڇا توھان جو مطلب آھي جڳھ جتي int m = min(a,b) m = m2 ۾ تبديل ٿي ويو آھي ؟ - ها. فنڪشن ڪال کان پوءِ هر شيءِ ائين ڪم ڪندي رهي ٿي ڄڻ فنڪشن بدران ان جو نتيجو ساڳي جاءِ تي لکيل هجي. اهو جملو هڪ ڀيرو ٻيهر پڙهو ۽ آخري مثال جو ڪوڊ ڏسو. - اهو صرف آسان لڳي ٿو، پر حقيقت ۾ اهو ڏکيو آهي. مون کي صرف ٿورڙو مليو آهي، اهو سڀ ڪجهه آهي. - اهو ٺيڪ آهي. پهرين ڪوشش تي توهان صرف اهو سمجهي سگهو ٿا جيڪو توهان اڳ ۾ ئي ڄاڻو ٿا. وڌيڪ توهان جي لاء هڪ نئين علائقي ۾ داخل ٿيو، وڌيڪ اهو واضح ناهي. ۽ نتيجو اڃا به وڌيڪ شاندار ٿيندو. جيئن وقت گذري ٿو، هر شيء واضح ٿي ويندي آهي. - خير، جيڪڏهن ائين آهي ته پوءِ اچو ته اڳتي وڌون.

8 ڊياگو

- هي، اميگو. هتي توهان لاءِ ڪجهه ڪم آهن. هاڻي توهان System.out کان وڌيڪ ڪجهه ڪرڻ جي قابل آهيو. پنهنجو بهترين ڪم ڪريو! مان توهان تي يقين رکان ٿو!
ڪم
1 گھٽ ۾ گھٽ ٻن انگن جو
ھڪڙو فنڪشن لکو جيڪو گھٽ ۾ گھٽ ٻن انگن جي موٽائي.
2 وڌ ۾ وڌ ٻن انگن جو
هڪ فنڪشن لکو جيڪو وڌ ۾ وڌ ٻه نمبر ڏي.
3 گھٽ ۾ گھٽ ٽي نمبر
ھڪڙو فنڪشن لکو جيڪو گھٽ ۾ گھٽ ٽن نمبرن جو موٽائي.
4 گھٽ ۾ گھٽ چار انگ اکر
ھڪڙو فنڪشن لکو جيڪو گھٽ ۾ گھٽ چار انگن کي موٽائي.
فنڪشن منٽ (a، b، c، d) کي استعمال ڪرڻو پوندو (ڪال) فنڪشن منٽ (a، b)
5 اسٽرنگ جي نقل
هڪ فنڪشن لکو جيڪو ڏيکاري ٿو ٽي ڀيرا پاس ڪيل اسٽرنگ. هر اسٽرنگ کي نئين لڪير تي هجڻ گهرجي.
6 ٽيڪسٽ ڊسپلي
هڪ فنڪشن لکو جيڪو ڏيکاري ٿو پاس ٿيل اسٽرنگ (لفظ) ٽي دفعا ساڳي لائن ۾.
لفظن کي هڪ جاءِ سان الڳ ڪرڻ گهرجي ۽ انهن کي هڪ ۾ ضم ٿيڻ نه گهرجي.

9 ڊيوگو، مڪمل ڪلاس جو نالو

پراڻي سطح 02 - 18- اي، اميگو، مان توهان کي مڪمل ڪلاس جي نالن بابت ٻڌائڻ چاهيان ٿو. - توھان اڳ ۾ ئي ڄاڻو ٿا ته ڪلاس پيڪيجز ۾ آھن. تنهن ڪري، هڪ مڪمل ڪلاس جو نالو هڪ نالو آهي جيڪو سڀني پيڪيجز کي پکڙيل آهي پوائنٽن طرفان جدا ٿيل، ۽ هڪ طبقي جو نالو. مثال: پراڻي سطح 02 - 19 - توھان جي پنھنجي ڪوڊ ۾ ڪلاس استعمال ڪرڻ لاء توھان کي ان جو پورو نالو بيان ڪرڻو پوندو. تنهن هوندي، توهان هڪ مختصر نالو استعمال ڪري سگهو ٿا - صرف هڪ طبقي جو نالو. ھن کي ڪرڻ لاءِ توھان کي ضرورت آھي ”درآمد“ ھن ڪلاس کي بيان ڪندي ان جو نالو شامل ڪندي لفظ درآمد ڪرڻ کان اڳ توھان ڪلاس جو اعلان ڪريو. java.lang (String, Integer,...) پيڪيج جا ڪلاس ڊفالٽ طور درآمد ڪيا ويندا آهن. توهان کي انهن جي وضاحت ڪرڻ جي ضرورت ناهي. مثال: پراڻي سطح 02 - 20- مختصر نالن جي استعمال جو مثال: پراڻي سطح 02 - 21- مون کي مليو. - چڱو.

10 پروفيسر، طبقن ۽ شين بابت ليڪچر

پراڻي سطح 02 - 22- هي، اميگو. اميد آهي ته توهان سڀ ڪجهه سمجهي ورتو آهي ايلي ۽ ريشا توهان کي اڄ ٻڌايو آهي. بس محفوظ رهڻ لاءِ، جيئن مون واعدو ڪيو، هتي وڌيڪ مواد جا لنڪ آهن: 1 منهنجا نوٽس 2 جاوا ۾ سوچڻ. اھو شاندار ڪتاب جيڪو مون توھان کي اڳ ۾ ئي ٻڌايو آھي. اهو تمام سٺو ٿيندو جيڪڏهن توهان ان کي پڙهو. - مون کي اميد آهي ته توهان ان جي ذريعي نظر ڪرڻ لاء وقت ٺاهيندا. - آهم. ضرور ڪندس!

11 جوليو

- اي، اميگو! اميد آهي ته توهان ڪجهه سخت ۽ ٿڪل آرام لاء آهيو؟

تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION