CodeGym /جاوا بلاگ /Random-UR /پرانا درجہ 10
John Squirrels
سطح
San Francisco

پرانا درجہ 10

گروپ میں شائع ہوا۔

اعلیٰ نہیں تعلیم نہیں۔

اولڈ لیول 10 - 1آئیے اپنے آپ سے ایک سوال پوچھیں: لوگ کالج میں کیوں داخل ہوتے ہیں؟ اس سادہ سے جملہ کو یاد رکھیں: اگر آپ محنت سے مطالعہ نہیں کرتے ہیں تو آپ ساری زندگی ویٹر رہیں گے۔ آپ یہ بھی سوچ سکتے ہیں کہ وہ تمام لوگ جو اعلیٰ تعلیم کے لیے جاتے ہیں ویٹر ہونے سے نفرت کرتے ہیں۔ تو وہ کیا چاہتے ہیں؟ وہ ویٹر سے مخالف سوشل سائیڈ پر نوکری چاہتے ہیں۔ لوگ اچھی تنخواہ والی، اعلیٰ تعلیم یافتہ ملازمتیں حاصل کرنے کے لیے کالجوں میں داخل ہوتے ہیں! تاکہ وہ گھر اور گاڑی خرید سکیں۔ سب کچھ حاصل کریں؛ کم از کم کبھی کبھی (درمیانی طبقے کی تعریف)۔ لوگ سوچتے ہیں کہ کالج کی تعلیم اچھی تنخواہ والی، اعلیٰ تعلیم یافتہ ملازمتوں کی ضمانت دیتی ہے۔ ایسا نہیں ہوتا۔ لیکن کالج اس کے بارے میں خاموش رہتے ہیں، اور ہم یہ سوچتے رہتے ہیں کہ "جب میں فارغ التحصیل ہو جاؤں گا تو مجھے اچھی نوکری مل جائے گی"۔ ایک اچھے کالج میں 5 سال آپ کو آپ کی "اچھی نوکری" سے ایک انچ بھی قریب نہیں کر پائیں گے۔ یہی وجہ ہے:

1. کالجوں میں اساتذہ آپ کو اچھا ماہر بننا نہیں سکھا سکتے۔

اپنے آپ کو اس کا سیدھا جواب دیں: جو لوگ آپ کو کالجوں میں کام پڑھاتے ہیں وہ معمولی تنخواہ لیتے ہیں، کیا وہ نہیں؟ اس کی وجہ یہ ہے کہ وہ لیبر مارکیٹ میں اچھی پوزیشن کے لیے اہل نہیں ہو سکتے۔ ان میں تجربے کے ساتھ ساتھ اہلیت کی بھی کمی ہے۔ جن میں اس کی کمی نہیں ہے وہ چھوڑ دیں۔ یہ سب دنیا کی بہترین یونیورسٹیوں میں مختلف ہے، لیکن اب ہم ان کے بارے میں بات نہیں کر رہے ہیں۔ آپ کی کیا رائے ہے: کیا ایک کامیاب فنانس ماہر سالانہ $150,000 کمانے والے بینک کے لیے کام کرے گا یا $60,000 سالانہ کمانے والے کالج میں پڑھائے گا؟ اکثر ایسا ہوتا ہے کہ ڈھیلے پروفیشنلز کالجوں میں پڑھاتے ہیں، 'کیونکہ وہ کوئی دوسری نوکری تلاش کرنے سے قاصر تھے۔ مستثنیات ہیں، لیکن وہ نایاب ہیں۔ میں کالجوں میں اچھے اساتذہ سے ملا، وہ واقعی وہاں موجود ہیں۔ لیکن یہ بھی اقلیت نہیں ہے، وہ بہت کم ہیں۔ ایک اچھا استاد نہ صرف آپ کو تھیوری دیتا ہے بلکہ اپنے مضمون کے عملی پہلو پر بھی زور دیتا ہے۔ زیادہ تر اساتذہ مشق کی پرواہ نہیں کرتے ہیں۔

2. زیادہ تر کالجوں میں اساتذہ سائنس کی تعریف کرتے ہیں لیکن پیشہ ورانہ احساس کو حقیر سمجھتے ہیں۔

آپ کو اس کی جڑیں اس حقیقت میں تلاش کرنی چاہئیں کہ زیادہ تر اساتذہ بطور پروفیشنل ناکام رہے۔ اور عذر تلاش کرنے کا واحد طریقہ یہ ہے کہ پیشہ ورانہ ادراک ناجائز پیشہ ہے۔ اگر آپ لیکچرز میں شرکت کرتے ہیں اور پھر سائنسی کانفرنسوں میں شرکت کرتے ہیں - تو آپ پھول جاتے ہیں۔ اور اگر آپ کام کرنے کی وجہ سے بہت کچھ چھوڑ دیتے ہیں - ٹھیک ہے، آپ کو بالکل مختلف علاج ملتا ہے۔ اساتذہ ایک متعصب راہبوں کی طرح ہوتے ہیں۔ پیشہ ان کے لیے باطل کا نام ہے۔ انہوں نے خود کو خدا کی سائنس کی خدمت کے لیے وقف کر دیا ہے اور وہ دن بھر سائنسی مضامین لکھنے کی دعا کرتے ہیں۔ ہوسکتا ہے کہ مقصد عظیم ہو، لیکن حقیقی زندگی میں یہ بیکار ہے۔ اولڈ لیول 10 - 2

3 موازنہ کا غلط ایٹلون۔

کالج کے طلباء اکثر اپنا موازنہ اسکول کے طلباء سے کرتے ہیں اور اپنے بہتر ہونے پر فخر محسوس کرتے ہیں۔ یہ وہم اس وقت تک جاری رہتا ہے جب تک کہ کوئی شخص نوکری حاصل کرنے کے بارے میں سوچنے لگتا ہے اور اپنی نظریں دوسری طرف نہیں موڑ لیتا۔ درحقیقت اگر طلباء اپنا موازنہ کام کرنے والے ماہرین سے کریں تو وہ دیکھیں گے کہ وہ چھوٹے چھوٹے قدموں میں اپنے مقصد کو حاصل کر رہے ہیں۔ کالج میں اوسط مت بنو. کیونکہ اگر آپ "جیسے سب کرتے ہیں" کرتے ہیں تو آپ کو نتیجہ "سب کو ملتا ہے" ملے گا۔ کالج میں زیادہ تر طلباء بے ترتیب ہوتے ہیں، ان کے پاس واقعی کوئی اور آپشن نہیں ہوتا ہے۔ شاید انہیں ان کے والدین نے کالج میں داخل ہونے پر مجبور کیا تھا اور انہیں اپنے مستقبل کے پیشے کا ذرہ برابر بھی اندازہ نہیں ہے۔ ایسا بہت ہوتا ہے۔ اپنے ساتھیوں سے اپنا موازنہ نہ کریں۔ آپ کے مکمل شدہ منصوبے اور آپ کی ملازمت کی کامیابیاں آپ کے علم اور مہارت کے لیے بہترین معیار پر پورا اتریں گی۔ اپنا موازنہ "بے چہرہ ہجوم" سے نہ کریں۔ اپنے آپ کو "مارکیٹ" سے موازنہ کریں۔

4 پیشہ ورانہ مطالعہ علم کا صرف ایک چھوٹا سا حصہ ہے جسے آپ کالجوں میں حاصل کرتے ہیں۔

جب آپ کام پر آئیں گے تو آپ سے پوچھا جائے گا کہ آپ کیا کر سکتے ہیں، یہ نہیں کہ آپ نے کیا سیکھا ہے۔ آپ کا باس اس بات میں دلچسپی لے گا کہ آپ کیا جانتے ہیں اور کام کے لیے مطلوبہ فہرست میں کیا کرنے کے قابل ہیں: آپ کو ایک مخصوص کام دیا جاتا ہے، لیکن آپ کو اس کی وضاحت نہیں ملتی ہے کہ اسے کیسے کرنا ہے، اور وہ مقررہ وقت میں نتائج کی توقع کرتا ہے۔ اچھی قسمت! آپ کالج میں تاریخ سیکھتے ہیں، اور آپ ایک بینک آپریٹر کے طور پر کام کرنے جا رہے ہیں - کیا یہ آپ کو اپنے مقصد کے قریب لاتا ہے یا اس سے دور؟ تکنیکی طور پر، آپ زیادہ جانتے ہیں۔ کیا اس کا مطلب یہ ہے کہ یہ آپ کو قریب لاتا ہے؟ لیکن درحقیقت، ہر سمسٹر کے ساتھ آپ کے پاس قیمتی پیشہ ورانہ علم حاصل کرنے کے لیے کم سے کم وقت ہوتا ہے اور اس کی مقدار وہی رہتی ہے۔ تو عملی طور پر - آپ اپنے مقصد سے بہت دور ہیں۔

5. کالج "آپ کو ایک اعلیٰ تعلیم یافتہ ماہر بنانے" کا ہدف مقرر نہیں کرتا ہے۔

جب آپ اس کا مقصد نہیں رکھتے ہیں تو اسے حاصل کرنا مشکل ہے۔ کالج میں وہ آپ کو آل راؤنڈ ماہر بناتے ہیں۔ آپ کو "دوسری ثانوی تعلیم" جیسی چیز ملتی ہے۔ وہ صرف یہ بتانا بھول جاتے ہیں کہ جو شخص ہر چیز کا مطالعہ کرتا ہے وہ کچھ نہیں جانتا۔ کیا آپ کو یونیورسٹی کے تین مقاصد یاد ہیں: سائنس، عمومی تعلیم اور پیشہ ورانہ تعلیم؟ آپ کے خیال میں سائنس اور عمومی تعلیم کو شامل کرنے کے لیے کیا کاٹنا پڑا؟ دائیں: پیشہ ورانہ مضامین۔ اور کیا آپ اب بھی سوچتے ہیں کہ یونیورسٹی کا مقصد آپ کو ایک اعلیٰ تعلیم یافتہ ماہر بنانا ہے؟

6. اگر کوئی شخص ایک ساتھ دو سے زیادہ مضامین پڑھتا ہے تو وہ اپنا وقت ضائع کر رہا ہے۔

اسکول کی تعلیم کے بعد یہ غلط معلوم ہوتا ہے۔ آپ کو صرف کام پر اس کی حقیقت ملتی ہے۔ اسکول میں کلاسیں اتنی مختصر ہیں اس لیے نہیں کہ یہ موثر ہے، بلکہ اس لیے کہ اسکول کا طالب علم ابھی بچہ ہے، اس لیے وہ ایک گھنٹے سے زیادہ توجہ مرکوز نہیں رکھ سکتا۔ لیکن اکثر کاموں کے درمیان سوئچ آپ کے دماغ کو مؤثر طریقے سے سوچنے سے روکتا ہے۔ کام پر آپ کو ایک بالغ کے طور پر انجام دینے کی ضرورت ہوگی، اور کام کے درمیان اکثر سوئچنگ آپ کی کارکردگی کو سختی سے کم کردے گی۔ آپ کو کیوں لگتا ہے کہ آپ امتحانات کی تیاری کم وقت میں کر سکتے ہیں؟ آپ صرف ایک سے زیادہ کام نہیں کرتے ہیں اور آپ کی تاثیر وقت کے ساتھ بڑھ جاتی ہے۔ چھوٹے چھوٹے ٹکڑوں میں کچھ سیکھنا سراسر حماقت ہے۔ ذرا تصور کریں کہ آپ ہفتے میں صرف چھ گھنٹے ڈائٹنگ کر رہے ہیں - نتیجہ کتنی جلدی آئے گا؟

7. کالج میں ایک شخص صرف موضوع کو تھوڑا سا چھوتا ہے۔

آئیے فرض کریں کہ آپ دو سمسٹر کے لیے کچھ پڑھتے ہیں۔ آپ کے ہفتے میں دو لیکچرز اور دو پریکٹیکل کلاسز ہوتی ہیں۔ کہ کالج کے لئے کچھ سنجیدہ نقطہ نظر. تو یہ کتنے گھنٹے بناتا ہے؟ چار کلاسیں 2 تعلیمی گھنٹے (1.5 معمول کے گھنٹے) ہیں - یہ ہفتے میں 6 گھنٹے ہیں۔ ہم پہلے سمسٹر میں چار مہینے پڑھتے ہیں: ستمبر، اکتوبر، نومبر اور دسمبر۔ دوسرے میں 4 مزید: فروری، مارچ، اپریل، مئی۔ کل: 8 ماہ، 4.5 ہفتہ ہر ایک۔ ہر ہفتے 6 گھنٹے۔ یہ سال میں 216 گھنٹے بنتا ہے۔ میرے پیارے طلباء، آپ کو معلوم ہے کہ مہینے میں کام کے 180 گھنٹے ہوتے ہیں۔ کوئی بھی سالانہ کورس ڈیڑھ ماہ میں سیکھا جا سکتا ہے، اور اگر آپ واقعی چاہتے ہیں (یا ضرورت ہے) تو ایک مہینے میں۔

8. آپ کو سب سے عام، عملی طور پر بیکار اور فرسودہ علم سکھایا جا رہا ہے۔

اولڈ لیول 10 - 3آپ کو جس مسئلے کو حل کرنا ہے اس کے لحاظ سے ہر علم کی مختلف اقدار ہوتی ہیں۔ جب آپ ڈوب رہے ہوں تو تیرنا سیکھنا آپ کے سیکھے ہوئے فلسفے کے کورس سے کہیں زیادہ مفید ہے، ٹھیک ہے؟ اور اگر آپ کو ایک کیشیئر کی نوکری مل جاتی ہے تو یہ جاننا کہ گنتی کا طریقہ بنیادی سطح پر لاطینی زبان جاننے سے بہتر ہے۔ آپ کے پیشہ ورانہ ادراک کا سب سے مفید حصہ، بلا شبہ، عملی تجربہ اور اپنے پیشے کی حالیہ پیشرفت سے واقف ہونا ہے۔ آپ کے کالج کے استاد کو غالباً کبھی کوئی عملی تجربہ نہیں تھا اور وہ تازہ ترین پیشرفت سے ناواقف ہیں۔ اور اگر اس نے ان کے بارے میں کہیں پڑھا بھی ہے، تو اسے ان کی قدر و قیمت کا اندازہ نہیں ہے اور ان کا اطلاق کس شعبے میں ہوتا ہے۔ یہاں تک کہ اگر آپ 100 بیکار مضامین سیکھیں تو وہ 10 مفید نہیں ہوں گے۔

9 عملی مہارتیں تھیوری سے 10 گنا زیادہ قیمتی ہیں۔

حقیقی زندگی میں آپ کو اکثر کام پر کچھ کرنا پڑتا ہے۔ اگر آپ جانتے ہیں کہ اسے کیسے کرنا ہے، یا آپ کو لگتا ہے کہ آپ جانتے ہیں، تو اس کا لازمی طور پر یہ مطلب نہیں ہے کہ آپ واقعی یہ کر سکتے ہیں ۔ آپ جانتے ہیں کہ سگریٹ نوشی آپ کے لیے بری ہے، لیکن کیا آپ اسے چھوڑ سکتے ہیں؟ آپ جانتے ہیں کہ کھیل کرنا صحیح کام ہے، لیکن کیا آپ واقعی ورزش کر رہے ہیں؟ آپ جانتے ہیں کہ غیر ملکی زبانیں آپ کے کیریئر کے لیے اچھی ہیں، لیکن کیا آپ واقعی کچھ سیکھ سکتے ہیں؟ زندگی میں جو بھی اہمیت رکھتا ہے وہ مشق ہے۔ مشق کے بغیر آپ کے پاس جتنا زیادہ علم ہے، ان کی قدر اتنی ہی کم ہے۔ آپ یہ فیصلہ کیسے کریں گے کہ کون سا علم غلط ہے، پرانا ہے، غلط استعمال ہوا ہے، اور کون سا واقعی کام ہے؟ کیا آپ نے کبھی اس بارے میں نہیں سوچا؟ حقیقی دنیا میں خوش آمدید۔ آپ A یا B پر ٹریفک ریگولیشن سیکھ سکتے ہیں، لیکن پھر بھی آپ گاڑی نہیں چلا سکیں گے۔ تھیوری پریکٹس کے لیے ایک اچھی زمین ہے۔ فرض کریں کہ آپ دیوار بنا رہے ہیں: اینٹیں مشق ہیں، گراؤٹ تھیوری ہے۔ گراؤٹ (نظریہ) کے بغیر دیوار غیر مستحکم ہوگی، لیکن اینٹوں (عمل) کے بغیر آپ کا نظریہ بیکار ہے۔ لہذا، حضرات، کالج میں اپنے 5 سالوں کو 10 سے تقسیم کریں۔ نصف سال - یہ آپ کی دیرینہ "کوشش" کا حقیقی نتیجہ ہے۔ آپ ثبوت چاہتے ہیں؟ جب آپ کو نوکری ملتی ہے اور آدھا سال کام کرتے ہیں تو آپ دیکھیں گے کہ آپ کا کالج کا علم دوگنا ہو جائے گا ۔

آپ ایک نئی سطح پر پہنچ گئے ہیں۔

لیول 10

اولڈ لیول 10 - 4

1 ایلی، اشیاء کی مضبوط ٹائپنگ کے بارے میں

- ارے، امیگو! - ارے، ایلی! - میں آج ایک خوشگوار موڈ میں ہوں، لہذا میں آپ کو ایک بہت دلچسپ بات بتاؤں گا۔ میں جاوا میں قدیم اقسام کے ساتھ شروع کروں گا۔ - جاوا میں، ہر آبجیکٹ اور ہر متغیر کی اپنی ہارڈ کوڈ شدہ ناقابل تغیر قسم ہوتی ہے۔ متغیر کی قسم پروگرام کی تالیف کے دوران بیان کی جاتی ہے، کسی چیز کی قسم - اس کی تخلیق کے دوران۔ نئی تخلیق شدہ آبجیکٹ اور/یا متغیر کی قسم ساری زندگی ایک جیسی رہتی ہے۔ مثال: پرانا درجہ 10 - 5- لیکن کچھ دلچسپ تفصیلات ہیں جو آپ کو یاد رکھنی چاہئیں۔ - سب سے پہلے، ایک حوالہ متغیر ہمیشہ ایک ہی قسم کے آبجیکٹ کو اس کی اپنی قسم کے طور پر ذخیرہ نہیں کرتا ہے۔ - دوسرا، دو مختلف اقسام کے متغیرات کے تعامل میں، انہیں پہلے ایک عام قسم میں تبدیل کرنا ضروری ہے۔ - تقسیم کے بارے میں کیا ہے؟ اگر ہم 1 کو 3 سے تقسیم کرتے ہیں تو ہمیں 0.333 (3) ملتا ہے۔ ہے نا؟ - نہیں، ایسا نہیں ہے۔ جب آپ دو عدد کو تقسیم کرتے ہیں تو نتیجہ بھی ایک عدد عدد ہوتا ہے۔ اگر آپ 5 کو 3 سے تقسیم کرتے ہیں تو جواب ایک اور بقیہ میں دو ہوگا۔ اس طرح باقی کو ضائع کر دیا جاتا ہے۔ - اگر آپ 1 کو 3 سے تقسیم کرتے ہیں تو ہمیں 0 ملتا ہے (اور 1 - بقیہ کو ضائع کر دیا جاتا ہے)۔ - اگر میں اب بھی 0.333 حاصل کرنا چاہتا ہوں تو مجھے کیا کرنا چاہیے؟ - جاوا میں، دو عدد عدد کو تقسیم کرنے سے پہلے یہ بہتر ہے کہ ان میں سے کسی ایک کو حقیقی نمبر 1.0 سے ضرب دے کر حقیقی (فرکشنل) قسم میں ڈالیں۔ اولڈ لیول 10 - 6- یہ مل گیا.

2 ریشا، بنیادی اقسام کی فہرست

- ارے، امیگو! - ارے، ریشا! - آپ نے جاوا نحو کی بنیادی باتیں پہلے ہی سیکھ لی ہیں، لیکن میں آپ کو کچھ چیزیں مزید تفصیل سے بتانا چاہتا ہوں۔ - آج میں آپ کو قدیم اقسام کے بارے میں تھوڑا سا بتاؤں گا اور وہ کتنی میموری پر قابض ہیں۔ آپ کو اس کی ضرورت ہوگی، اور شاید آج بھی۔ یہ اقسام ہیں: اولڈ لیول 10 - 7- میں ہر قسم کی تفصیل دوں گا۔ - ٹائپ بائٹ انٹیجرز کی سب سے چھوٹی قسم ہے۔ اس قسم کا ہر متغیر میموری کا صرف ایک بائٹ لیتا ہے۔ تو یہ -128 سے 127 کی رینج میں اقدار کو ذخیرہ کر سکتا ہے۔ - ہمیں اتنی چھوٹی قسم کی ضرورت کیوں ہے؟ ہر جگہ int استعمال کیوں نہیں کرتے؟ - تم کر سکتے ہو. لیکن اگر آپ بہت بڑی صفیں بناتے ہیں، اور آپ کو وہاں 100 سے زیادہ اقدار کو ذخیرہ کرنے کی ضرورت نہیں ہے، تو پھر کیوں نہ اس قسم کو استعمال کیا جائے؟ کیا میں ٹھیک ہوں؟ - ٹائپ شارٹ ٹائپ بائٹ سے دوگنا لمبا ہے اور یہ صرف انٹیجرز کو بھی اسٹور کرتا ہے۔ اس میں فٹ ہونے والا سب سے بڑا نمبر 32767 ہے۔ سب سے بڑا منفی نمبر -32768 ہے۔ - آپ پہلے ہی قسم int جانتے ہیں ۔ یہ دو بلین تک عدد جمع کر سکتا ہے، مثبت اور منفی دونوں۔ - قسم کا فلوٹ اصلی (فریکشنل) نمبروں کو ذخیرہ کرنے کے لیے بنایا گیا ہے۔ اس کا سائز 4 بائٹس ہے۔ - تمام فریکشنل نمبرز کو ایک بہت ہی دلچسپ شکل میں میموری میں محفوظ کیا جاتا ہے۔ - مثال کے طور پر، 987654.321 کو 0 کے طور پر دکھایا جا سکتا ہے ۔ 987654321 *10 6 ۔ لہذا، میموری میں یہ دو نمبروں کے طور پر پیش کیا جاتا ہے «0. 987654321 » ( اہم ) اور « 6 » ( ایکسپوننٹ - دس کی طاقت ) - یہ اتنا مشکل کیوں ہے؟ - متغیر کی اس طرح کی اندرونی ساخت صرف 4 بائٹس کا استعمال کرتے ہوئے، int سے کہیں زیادہ بڑی تعداد کو ذخیرہ کرنے کے قابل بناتی ہے۔ لیکن اس طرح ہم درستگی ترک کر دیتے ہیں۔ میموری کا ایک حصہ ایکسپوننٹ کو ذخیرہ کرنے کے لیے استعمال کیا جاتا ہے، اس لیے فریکشنل نمبرز اعشاریہ کے بعد صرف 6-7 ہندسے رکھتے ہیں اور باقی کو ضائع کر دیا جاتا ہے۔ -ان نمبروں کو فلوٹنگ پوائنٹ نمبر بھی کہا جاتا ہے۔ ویسے، اس لیے قسم کا نام – float ۔ - میں سمجھ گیا، اچھا. - ڈبل قسم float کے طور پر ایک ہی قسم ہے ، لیکن دو بار (ڈبل) لمبا - یہ آٹھ بائٹس پر قبضہ کرتا ہے۔ اس قسم میں زیادہ سے زیادہ ایکسپوننٹ سائز اور اہم ہندسوں کی تعداد بڑی ہے۔ اگر آپ کو حقیقی نمبروں کو ذخیرہ کرنے کی ضرورت ہو تو اس قسم کا استعمال کریں۔ - ٹائپ چار ایک ہائبرڈ قسم ہے۔ اس کی اقدار کو اعداد (جسے آپ شامل اور ضرب کر سکتے ہیں) اور حروف کے طور پر دونوں طرح سے تشریح کی جا سکتی ہے۔ ایسا اس لیے کیا گیا کہ اگرچہ حروف کی بصری نمائندگی ہوتی ہے، کمپیوٹر کے لیے وہ صرف نمبر ہیں۔ ان کو بطور نمبر استعمال کرنا بہت آسان ہے۔ ایک اور تبصرہ ہے: قسم char سختی سے مثبت ہے۔ یہ منفی اقدار کو محفوظ نہیں کر سکتا۔ - قسم بولین ایک منطق کی قسم ہے، یہ صرف دو اقدار کو ذخیرہ کر سکتی ہے: سچ اور غلط ۔ - قسم آبجیکٹ ، اگرچہ جدول میں پیش کیا گیا ہے، کوئی قدیم قسم نہیں ہے۔ یہ جاوا میں تمام کلاسوں کے لیے بیس کلاس ہے۔ سب سے پہلے، تمام کلاسوں کو اس کلاس سے وراثت میں سمجھا جاتا ہے، اور اس وجہ سے اس کے طریقے شامل ہیں۔ دوسرا، اسے کسی بھی قسم کے آبجیکٹ حوالہ جات تفویض کیے جا سکتے ہیں۔ کالعدم حوالہ سمیت ۔ - میں نے بہت کچھ سیکھا ہے۔ لیکچر کے لیے شکریہ، ریشا۔

3 ایلی، قسم کی تبدیلی۔ چوڑا اور تنگ کرنا ٹائپ کریں۔

- اور یہاں مزہ جاتا ہے. میں آپ کو قسم کی تبدیلی کے بارے میں بتاؤں گا۔ اگرچہ متغیرات کی اقسام ہمیشہ ایک جیسی ہوتی ہیں، لیکن ایک ایسی جگہ ہے جہاں آپ اقسام کو تبدیل کر سکتے ہیں۔ یہ ایک اسائنمنٹ ہے ۔ - آپ ایک دوسرے کو مختلف اقسام کے متغیرات تفویض کر سکتے ہیں۔ ایسا کرنے سے، ایک قسم کے متغیر سے لی گئی قدر دوسری قسم کی قدر میں تبدیل ہو جائے گی اور دوسرے متغیر کو تفویض کر دی جائے گی۔ - تو تبدیلی کی دو قسمیں ہیں: چوڑا ہونا اور تنگ کرنا۔ چوڑا کرنا ایک چھوٹی ٹوکری سے چیزوں کو بڑی میں منتقل کرنے جیسا ہے - آپریشن ہموار اور پریشانی سے پاک ہے۔ تنگ کرنا ایک بڑی ٹوکری سے چیزوں کو چھوٹی میں ڈالنے کے مترادف ہے: ہو سکتا ہے کہ کافی جگہ نہ ہو اور کچھ پھینکنا پڑے۔ - یہاں «ٹوکری» کے سائز کے لحاظ سے ترتیب دی گئی اقسام ہیں: اولڈ لیول 10 - 8- یہاں چند تبصرے ہیں:
  1. char وہی "ٹوکری" ہے جو مختصر ہے، لیکن ایک نکتہ ہے: جب قدروں کو شارٹ سے چار تک کاپتے ہیں تو، 0 سے کم قدروں کو ضائع کر دیا جاتا ہے۔ char سے مختصر تک مقابلہ کرتے وقت ، 32,767 سے زیادہ قدروں کو ضائع کر دیا جاتا ہے۔
  2. انٹیجرز کو فریکشن میں تبدیل کرتے وقت، کم ترتیب والے ہندسوں کو ضائع کیا جا سکتا ہے۔ لیکن چونکہ فریکشنل نمبر کا مقصد ایک تخمینی قدر کو ذخیرہ کرنا ہے، اس لیے ایسی تفویض کی اجازت ہے۔
- قسم کو تنگ کرتے وقت آپ کو کمپائلر کو واضح طور پر دکھانا ہوگا کہ آپ غلطی سے نہیں ہیں اور جان بوجھ کر نمبر کے کسی حصے کو ضائع نہیں کر رہے ہیں۔ ایسا کرنے کے لیے، ایک قسم کاسٹ آپریٹر استعمال کریں ۔ یہ قوسین میں ایک قسم کا نام ہے ۔ - مختلف اقسام کے متغیرات کو تفویض کرنے کا طریقہ یہاں ہے: اولڈ لیول 10 - 9 - ایک قسم کاسٹ آپریٹر کو ہر بار نمبر/متغیر سے پہلے اعلان کیا جانا چاہیے جب بھی کسی نمبر کا کوئی حصہ ضائع کیا جائے یا ٹائپ تنگ ہو جائے۔ آپریٹر صرف اس نمبر/متغیر پر لاگو ہوتا ہے جو اس کے بعد آتا ہے۔ اولڈ لیول 10 - 10- میں سمجھ گیا، اچھا.

4 ڈیاگو، انٹیجر قسم کی تبدیلی کے کام

- ارے، امیگو! عددی اقسام کی گفتگو پر آپ کے کام یہ ہیں۔ جہاں ضرورت ہو آپ کو کاسٹ آپریٹر لگانے کی ضرورت ہے، لہذا پروگرام مرتب کرتا ہے:
کام
1 1. قسم کاسٹ اور گفتگو
بائٹ a = 1234؛
int b = a;
بائٹ c = a * a؛
int d = a/c;
2 2. ٹائپ کریں کاسٹ اور گفتگو
int a = 15؛
int b = 4;
float c1 = a/b;
float c2 = (float) a/b;
float c3 = (float) (a/b)؛
3 3. قسم کاسٹ اور گفتگو
فلوٹ f = 333.50؛
int i = f;
بائٹ b = i؛
4 4. قسم کاسٹ اور گفتگو
مختصر نمبر = 9؛
چار صفر = '0'؛
چار نو = صفر + نمبر؛
5 5. قسم کاسٹ اور گفتگو
مختصر نمبر = 9؛
چار صفر = '0'؛
مختصر نائن کوڈ = صفر + نمبر؛

5 ایلی، سٹرنگ کی قسم میں تبدیلی

- اب ہمارے پاس ایک چھوٹا، لیکن دلچسپ موضوع ہوگا - سٹرنگ کنورژن۔ - جاوا میں، آپ کسی بھی قسم کے ڈیٹا کو اسٹرنگ کی قسم میں تبدیل کر سکتے ہیں۔ - امید افزا لگتا ہے۔ - حقیقت میں، یہ اور بھی بہتر ہے۔ آپ واضح طور پر تقریباً تمام اقسام کو String میں تبدیل کر سکتے ہیں۔ جب آپ دو متغیرات شامل کرتے ہیں تو یہ سب سے بہتر دکھایا جاتا ہے: String اور "non-String". ایسی صورت میں Non String متغیر کو زبردستی String میں تبدیل کر دیا جاتا ہے۔ - یہاں، چند مثالوں پر ایک نظر ڈالیں: اولڈ لیول 10 - 11نتیجہ: اگر ہم کسی دوسری قسم میں String کا اضافہ کرتے ہیں ، تو دوسری چیز String میں تبدیل ہو جاتی ہے۔ - میز کی چوتھی قطار پر توجہ دیں۔ تمام کارروائیوں کو بائیں سے دائیں تک انجام دیا جاتا ہے، لہذا 5 + '\u0000' کا اضافہ انٹیجرز کے اضافے کے طور پر ہوتا ہے۔ - تو اگر میں String s = 1+2+3+4+5+"m" جیسا کوڈ لکھتا ہوں ، تو مجھے s = "15m" ملتا ہے ؟ - ہاں. سب سے پہلے، نمبروں کو شامل کیا جائے گا، اور پھر ایک تار میں تبدیل کیا جائے گا.

6 ڈیاگو، عام طور پر اقسام کی تبدیلی پر کام

اولڈ لیول 10 - 12- اور اب، ڈیاگو کا ایک چھوٹا سا لیکچر۔ حوالہ کی اقسام کے بارے میں مختصر اور نقطہ نظر۔ - اب تک، ہم آبجیکٹ کی قسم کے متغیر کے ساتھ شروع کرتے ہیں۔ اس متغیر کو کسی بھی قسم کا حوالہ تفویض کیا جا سکتا ہے ۔ الٹا اسائنمنٹ کرنے کے لیے ہمیں واضح طور پر ایک کاسٹ آپریٹر کی وضاحت کرنی ہوگی: اولڈ لیول 10 - 13- جب چیز کا حوالہ تبدیل کیا جائے تو اس میں کوئی تبدیلی نہیں ہوتی۔ اسائنمنٹ پر ٹائپ کو تنگ کرنا اور ٹائپ کو چوڑا کرنا حوالہ متغیر کی قسم اور آبجیکٹ کی قسم کی مطابقت کو جانچ رہا ہے۔ - واہ، یہ اب بہت واضح ہے. آپ کا شکریہ، ڈیاگو. - غلطیوں سے بچنے کے لیے ، جیسا کہ مثالوں میں ، یہ معلوم کرنے کا ایک طریقہ ہے کہ آبجیکٹ کی قسم کے متغیر میں کس قسم کو ذخیرہ کیا گیا ہے : اولڈ لیول 10 - 14- اگر ذخیرہ شدہ آبجیکٹ کی قسم مکمل طور پر نامعلوم ہو تو ہر قسم کو تنگ کرنے سے پہلے اس طرح کی جانچ کرنا بہتر ہے۔ - یہ مل گیا.

7 ایلی، اصلی اقسام

- یہاں اصلی (جو کہ جزوی ہیں) اقسام کے بارے میں کچھ دلچسپ چیزیں ہیں۔ آئیے اس مثال سے شروع کرتے ہیں: اولڈ لیول 10 - 15- اس حساب کے نتیجے میں f کی قدر صفر کے برابر ہے! - ریشا نے مجھے کچھ ایسا ہی بتایا ... - اوہ، واقعی؟ یہ اچھا ہے. پریکٹس کامل بناتی ہے۔ - حقیقت میں، مثال میں کوئی غلطی نہیں ہے. جب ایک عدد عدد کو دوسرے عدد عدد سے تقسیم کرتا ہے تو نتیجہ بھی عددی ہوتا ہے۔ تقسیم کا باقی حصہ صرف ضائع کر دیا گیا ہے۔ اس سے بچنے کے لیے اس بات کو یقینی بنائیں کہ تقسیم میں شامل دو نمبروں میں سے کم از کم ایک جزوی ہو۔ - اگر نمبروں میں سے ایک جزوی ہے، تو دوسرا نمبر پہلے ایک جزوی قسم میں تبدیل ہوتا ہے، اور پھر تقسیم اس کے بعد ہوتی ہے۔ - یہاں یہ ہے کہ ہم اس مسئلے کو کیسے حل کرسکتے ہیں: اولڈ لیول 10 - 16- اور اگر متغیرات تقسیم میں شامل ہوں تو کیا ہوگا؟ - پھر یہ اس طرح جاتا ہے: اولڈ لیول 10 - 17- لیکن یہ اچھا نہیں لگتا۔ کیا کوئی زیادہ آسان ڈویژن آپریٹر ہے؟ - نہیں. بس. - ٹھیک ہے، ٹھیک ہے، مجھے لگتا ہے، کوئی مسئلہ نہیں ہو گا.

8 ایلی، لٹریلز

- اور آخر میں، ریشا کا ایک پروفیسر طرز کا لیکچر، جو کہ مکمل طور پر بیکار معلومات ہے۔ تمام لیکچررز اسے پسند کرتے ہیں۔ یہ آپ کے لیے سمجھنا مشکل ہو سکتا ہے۔ تو صرف ایک نظر ڈالیں اور اس پر زیادہ غور نہ کریں۔ - ٹھیک ہے، پھر میں تیار ہوں. - آج میں آپ کو بتاؤں گا کہ لٹریلز کیا ہیں۔ لٹریلز وہ تمام ڈیٹا ہوتے ہیں جو براہ راست جاوا کوڈ میں محفوظ ہوتے ہیں۔ مثالیں: اولڈ لیول 10 - 18 - حقیقت میں، کچھ اور لغوی ہیں۔ لٹریلز کا استعمال کرتے ہوئے، آپ کسی بھی معلوم قسم کی قدریں سیٹ کر سکتے ہیں: اولڈ لیول 10 - 19- دوسرے لفظوں میں، کوڈ طریقوں، کلاسز، متغیرات،... اور لٹریلز متغیرات کی مخصوص قدریں ہیں جو براہ راست کوڈ میں محفوظ ہیں۔ کیا میں اسے ٹھیک سمجھتا ہوں؟ - جی ہان آپ کریں. - ٹھیک. آخر میں، میں اس تمام جاوا کی تصویر حاصل کر رہا ہوں۔

9 پروفیسر، اقسام پر لیکچر

- زبردست! آخر میں، یہ میرا پسندیدہ موضوع ہے - قسم کی تبدیلی۔ مجھے یہاں تک یاد ہے کہ جب میرے پروفیسر نے مجھے اس کے بارے میں بتایا تھا۔ یہ بہت "دلکش" تھا۔ تب مجھے کچھ سمجھ نہیں آیا۔ لیکن یقیناً، آپ ان شاندار لیکچرز کی بدولت سب کچھ سمجھ جائیں گے۔ وہ یہ ہیں: جاوا کنورشنز اور پروموشنز (اوریکل ڈاکیومینٹیشن) ڈیٹا ٹائپ کاسٹنگ (قسم کی تبدیلی) جاوا کاسٹ اور تبادلوں کو وسیع کرنا اور تنگ تبدیلیاں

10 جولیو

- زبردست! ٹھیک ہے، تم واقعی ہوشیار ہو، امیگو! صرف دو ہفتوں میں بہت سی چیزیں سیکھ گئیں! تم ایک عفریت کی طرح ہو۔ ویسے، دو ہفتوں کی غلامانہ مشقت کے بعد کچھ مزہ کیسے آئے گا؟

11 کیپٹن گلہری

(- میں نے آپ کی مدد کی ہے۔ اسے گھر پر کریں۔) ہوم ورک (10 یونٹ) - ہیلو، سپاہی! - صبح بخیر صاحب! - میرے پاس آپ کے لیے کچھ اچھی خبریں ہیں۔ اپنی صلاحیتوں کو تقویت دینے کے لیے یہاں ایک فوری چیک ہے۔ اسے ہر روز کریں، اور آپ اپنی صلاحیتوں میں تیزی سے اضافہ کریں گے۔ کام خاص طور پر Intellij IDEA میں کرنے کے لیے بنائے گئے ہیں۔
Intellij Idea میں کرنے کے لیے اضافی کام
1 1. درست جواب ہے: d = 2.941 d = 2.941
حاصل کرنے کے لیے ایک قسم کاسٹنگ آپریٹر شامل کریں۔
2 2. درست جواب ہے: d=5.5 حاصل کرنے کے لیے d=5.5
ایک قسم کاسٹنگ آپریٹر شامل کریں۔
3 3. درست جواب ہے: d=1.0 حاصل کرنے کے لیے d=1.0
ایک قسم کاسٹنگ آپریٹر شامل کریں۔
4 4. بڑی تنخواہ
اسکرین پر پیغام دکھائیں "میں جاوا کا مطالعہ نہیں کرنا چاہتا، مجھے ایک بڑی تنخواہ چاہیے" مثال کے بعد 40 بار۔

مثال:
میں جاوا سیکھنا نہیں چاہتا، مجھے بڑی تنخواہ چاہیے
میں جاوا نہیں سیکھنا چاہتا، مجھے بڑی تنخواہ چاہیے
میں جاوا نہیں سیکھنا چاہتا، مجھے بڑی تنخواہ چاہیے
یا جاوا نہیں سیکھنا چاہتا، مجھے بڑی تنخواہ چاہیے تنخواہ
جاوا نہیں سیکھنا چاہتی، مجھے بڑی تنخواہ چاہیے
جاوا نہیں سیکھنا، مجھے بڑی تنخواہ چاہیے
5 5. حروف کی تعداد کی
بورڈ 10 تاروں سے پڑھیں اور ان میں مختلف حروف کی تعداد شمار کریں (حروف تہجی کے تمام 26 حروف کے لیے)۔ نتیجہ اسکرین پر دکھائیں۔

مثال کے طور پر آؤٹ پٹ:
a 5
b 8
c 3
d 7

z 9
6 6. کلاس ہیومن کے کنسٹرکٹرز 6 فیلڈز کے ساتھ کلاس ہیومن
لکھیں ۔ اس کے لیے 10 مختلف کنسٹرکٹرز کے ساتھ آئیں اور انہیں لاگو کریں۔ ہر کنسٹرکٹر کا مطلب ہونا چاہئے۔
7 7. کم از کم جامد موڈیفائرز کو منتقل کریں
زیادہ سے زیادہ سٹیٹک موڈیفائرز کو منتقل کریں تاکہ کوڈ مرتب ہو۔
8 8. سٹرنگ کی فہرستوں کی صف
ایک ایسی صف بنائیں جس کے عناصر سٹرنگز کی فہرست ہوں۔ صف کو کسی بھی ڈیٹا سے بھریں اور انہیں اسکرین پر ڈسپلے کریں۔
9 9. فہرست میں ایک جیسے الفاظ
کی بورڈ سے 20 الفاظ پڑھیں، ان سے فہرست بھریں۔ فہرست میں ایک جیسے الفاظ کی تعداد شمار کریں۔ نتیجہ ایک نقشہ ہونا چاہئے <String, Integer> ۔ نقشے کی کلید ایک منفرد سٹرنگ ہونی چاہیے، فہرست میں اس سٹرنگ کی قدر۔ نقشے کے اسکرین مواد پر ڈسپلے کریں۔
10 10. پانچ سب سے بڑے اعداد
عدد کی فہرست بنائیں۔ کی بورڈ سے 20 عدد کو پڑھیں اور ان کے ساتھ فہرست بھریں۔ فہرست سے نمبروں کو محفوظ طریقے سے نکالنے کے لیے ایک طریقہ بنائیں:
int safeGetElement(ArrayList<Integer> list, int index, int defaultValue)

طریقہ کو فہرست کے ایک عنصر کو اس کے اشاریہ سے واپس کرنا چاہیے۔ اگر اس طریقہ میں کوئی استثناء ہوتا ہے، تو آپ کو اسے پکڑنا ہوگا، اور defaultValue واپس کرنا ہوگا ۔
- وہ کام سبزیوں کے لیے تھے۔ میں نے اعلی پیچیدگی کے بونس کاموں کو شامل کیا۔ صرف ٹاپ گنز کے لیے۔
بونس کے کام
1 1. پروگرام مرتب اور نہیں چلتا ہے۔ اسے ٹھیک کریں۔
ٹاسک: پروگرام دکھاتا ہے کہ HashMap کیسے کام کرتا ہے۔ پروگرام کی بورڈ سے جوڑوں کا ایک سیٹ (ایک عدد اور ایک تار) پڑھتا ہے، انہیں HashMap میں رکھتا ہے اور HashMap کے مواد کو اسکرین پر دکھاتا ہے۔
2 2. پروگرام میں نئی ​​فعالیت شامل کریں۔
پرانا کام: پروگرام کو کی بورڈ سے داخل کردہ جوڑا (ایک عدد اور ایک تار) دکھانا چاہیے۔
نیا کام: پروگرام کو کی بورڈ سے داخل کردہ HashMap جوڑوں (ایک نمبر اور ایک تار) میں ذخیرہ کرنا چاہئے۔ خالی تار کا مطلب ہے ان پٹ کا خاتمہ۔ نمبر دہرائے جا سکتے ہیں۔ تار ہمیشہ منفرد ہوتے ہیں۔ ان پٹ ڈیٹا ضائع نہیں ہونا چاہیے! پروگرام کو ہیش میپ کے مواد کو اسکرین پر ظاہر کرنا چاہئے۔

مثال کے طور پر ان پٹ:
1
Stop
2
Look

مثال آؤٹ پٹ:
1 Stop
2 Look
3 3. الگورتھم سیکھنا اور اس پر عمل کرنا۔
ٹاسک: کی بورڈ سے 30 نمبر پڑھیں۔ 10 ویں اور 11 ویں کم از کم نمبر اسکرین پر ڈسپلے کریں۔
اشارہ:
کم سے کم نمبر 1st کم از کم ہے۔
اگلی کم از کم دوسری کم از کم

وضاحت 1:
1 15 6 63 5 7 1 88
پہلی کم از کم 1
ہے دوسری کم از کم 1
تیسری کم از کم 5
چوتھی کم از کم 6

وضاحت 2:
0 3 6 9 12 1212 152 27 30 33 36 39 42 45 48 51 54 57 60 63 66 69 72 75 78 81 84 87 36
0 6 9 39 42 78 12 15 30 33 684 684 583 54 57 60 72 75 18 21 24 27 69 36 0 18
21 6 27 9 39 42 78 12 33 63 66 3 81 84 87 45 15 30 48 51 54 57 60 72 75 24 پہلا کم از کم 3 منٹ ہے 70 سیکنڈ ہے ... گیارہویں کم از کم 30 ہے






مثال کے ان پٹ:
36 0 6 9 39 42 78 12 15

30 33 63 66 69 3 81 84 87 45 48 51 54 57 60 72 75 18 27 27 18 27 27 ۔

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