JavaRush /جاوا بلاگ /Random-UR /ان لوگوں کی سب سے عام پریشانی جو جاوا سیکھنا شروع کرتے ہی...

ان لوگوں کی سب سے عام پریشانی جو جاوا سیکھنا شروع کرتے ہیں۔

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

لیول 0 کا مسئلہ: موازنہ آپریٹر (==) اور اسائنمنٹ آپریٹر (=) کے ساتھ الجھن۔

یہ ان لوگوں کے لئے ایک بہت عام مسئلہ ہے جو دوسری پروگرامنگ زبانوں سے سوئچ کرتے ہیں۔ اور عام طور پر، ابتدائی اسکول کے بعد سے ہم اس حقیقت کے عادی ہو چکے ہیں کہ (=)یہ ایک برابر کی علامت ہے۔ ایک سادہ چال جسے یاد رکھنے کے لیے استعمال کیا جا سکتا ہے وہ یہ ہے: اگر آپ جانتے ہیں کہ آپ کو صرف ایک قدر کی پرواہ ہے (آپ ایک کو دوسرے کو تفویض کرتے ہیں) تو آپ ایک ہی =نشان استعمال کرتے ہیں، بصورت دیگر اگر آپ تمام متغیرات کی پرواہ کرتے ہیں۔ اور اقدار (آپ ان کا موازنہ کرتے ہیں) آپ کو دوہری ==نشان کی ضرورت ہے۔

مسئلہ: سٹرنگ مساوات کو جانچنے کے لیے موازنہ آپریٹر (==) کا استعمال

کیا کرنا ہے: یاد رکھیں، کسی بھی جاوا آبجیکٹ کو استعمال کرتے ہوئے مساوات کے لیے چیک نہیں کیا جا سکتا(==) ، کیونکہ یہ آپریٹر قدیم اقسام کی مساوات کو جانچنے کے لیے ڈیزائن کیا گیا ہے۔
جاوا سیکھنے والوں کے سب سے عام مسائل - 2
اشیاء کے لیے آپ کو استعمال کرنے کی ضرورت ہے .equals()۔ اور Stringجاوا زبان میں یہ ایک چیز (اور immutable) سے زیادہ کچھ نہیں ہے۔
بطور نشان زد ایک آبجیکٹ Immutable ایک ایسی چیز ہے جس کی حالت تخلیق کے بعد تبدیل نہیں کی جا سکتی۔ Java میں ، اس کا مطلب یہ ہے کہ کلاس کے تمام مثالی فیلڈز بطور finalپرائمیٹو (یا بھی immutable) نشان زد ہیں۔

مسئلہ: ایک لوپ میں سٹرنگ کنکٹنیشن

یہ خود نہ آزمائیں! ہر بار جب تاروں کو جوڑ دیا جاتا ہے، ایک نئی آبجیکٹ بن جاتی ہے String(جیسا کہ ہم نے اوپر پایا، تاریں immutableناقابل تغیر ہیں)۔ کسی وقت آپ کی یادداشت ختم ہو جائے گی یا پروگرام مکمل ہونے میں بہت زیادہ وقت لینے لگے گا۔ حل۔ مواد کو ایک لوپ میں جوڑتے وقت StringBuilderاستعمال کریں ۔ Stringکلاس StringBuilderاس وقت استعمال ہوتی ہے جب آپ کو کریکٹر سٹرنگ میں بہت زیادہ تبدیلیاں کرنے کی ضرورت ہوتی ہے۔ اور اس طرح کی لائنیں، برعکس String، نہیں ہیں immutable.

مسئلہ: NullPointerException

اس قسم کی رعایت اس وقت ہوتی ہے جب ہم null pointer استعمال کرنے کی کوشش کرتے ہیں nullجب حقیقت میں ہمیں کسی حقیقی چیز کی ضرورت ہوتی ہے۔
تمام قدیم اقسام کی ڈیفالٹ اقدار ہوتی ہیں۔ تو، y intہے 0، اور y booleanہے false۔ کسی بھی حوالہ کی قسم کی ڈیفالٹ قدر، یعنی آبجیکٹ، ہے null۔ یہ کوئی چیز یا قسم نہیں ہے، یہ ایک خاص قدر ہے۔ جس کا بنیادی مطلب ہے "یہاں کچھ نہیں ہے۔"
جو لوگ جاوا سیکھنا شروع کرتے ہیں ان کے سب سے عام مسائل - 3
کیا کریں: اگر آپ کا کوڈ اس طرح لکھا گیا ہے کہ کسی وقت آپ کا آبجیکٹ قدر کو قبول کر سکتا ہے null، تو آپ کو "چیک فار null" شامل کرنے کی ضرورت ہے، خاص طور پر اگر آپ آبجیکٹ خود نہیں بنا رہے ہیں۔ nullیہ بھی یاد رکھیں کہ خالی مجموعوں کو واپس کرنا 's کے سیٹ سے بہتر ہے ۔ حاصل کرنے والوں اور سیٹرز کے لیے توثیق شامل کرنا بھی اچھا ہوگا۔

مسئلہ: کسی وجہ سے if / while / for loop کام نہیں کرتا ہے۔

if (something.equals («что-то еще»)); {// <---- корень зла!!!
     System.out.println («Почему я не работаю???»);
}
یہاں کیا خرابی ہے؟ یہ آسان ہے: ایک اضافی سیمیکولن نے لاکھوں نوسکھئیے جاوا پروگرامرز کا خون خراب کر دیا ہے۔ ٹھیک ہے، آپ کو اس کے بعد اس کی ضرورت نہیں ہے if ()۔ زبان کے نقطہ نظر سے، ایسا نحو کافی قابل قبول ہے، لہذا مرتب کرنے والا اس کے بارے میں شکایت نہیں کرے گا۔ لیکن یہ مشروط بیان کو ختم کرتا ہے، اور بلاک کے اندر کا کوڈ {}کبھی بھی اوپر کی شرط کو پورا نہیں کرے گا۔
جو لوگ جاوا سیکھنا شروع کرتے ہیں ان کے سب سے عام مسائل - 4
حل: ڈیزائن کی منطق کو یاد رکھیں۔ " ;" نشان کا مطلب ایک خاص بلاک کا اختتام ہے، لیکن یہاں سب کچھ شروع ہو رہا ہے۔

مسئلہ: جامد طریقوں سے غیر جامد ممبر متغیرات تک رسائی حاصل کرنے کی کوشش کرنا (جیسے اہم)

حل _ یہ مسئلہ خود تصور کی تفہیم سے متعلق ہے static۔ اگر کسی طریقہ کو اس لفظ کے ساتھ نشان زد کیا گیا ہے، تو اس کا مطلب ہے کہ ہمیں مرکزی طریقہ کو کال کرنے کے لیے کلاس کو انسٹیٹیوٹ کرنے کی ضرورت نہیں ہے۔ تو اس کا حل یہ ہے کہ "سٹیٹکس" کی اچھی سمجھ ہو اور ان کے جوہر کو سمجھیں۔

مسئلہ: پہلے سے موجود لائبریریوں اور ٹولز کو تیار کرکے پہیے کو دوبارہ ایجاد کرنے کی کوشش کرنا

حل۔ یہ اصل میں اتنا زیادہ مسئلہ نہیں ہے۔ ایک ابتدائی کے لیے، یہ ایک مفید ورزش ہے۔ تاہم، اگر آپ نتیجہ پر توجہ مرکوز کرنا چاہتے ہیں، مثال کے طور پر، ایک آسان سبسکرائبر ڈیٹا بیس بنانا، پھر فون بک میں سبسکرائبر کو تلاش کرنا آپ کی درخواست کے نتائج میں سے ایک ہے۔ اس صورت میں، بائنری سرچ الگورتھم لکھنے کی ضرورت نہیں ہے۔ ایک موجودہ کا استعمال کریں (ہم آپ کو یقین دلاتے ہیں، کسی نے اسے آپ سے پہلے لکھا ہے اور یہ معیاری لائبریریوں میں ہے)۔ لہذا اوریکل دستاویزات میں جاوا معیاری لائبریریوں کا مطالعہ کریں۔ گوگل سے سیکھیں، اسٹیک اوور فلو کو پڑھنے کی عادت ڈالیں اور جاوا رش کی مدد پر سوالات پوچھیں ! ...یقیناً، یہ تمام ابتدائی مسائل نہیں ہیں۔ تبصرے میں اپنی وضاحت کریں! کیا آپ جاوا سے متعلق مضامین پڑھنے میں دلچسپی رکھتے ہیں؟ جاوا ڈیولپر گروپ میں شامل ہوں ۔ یہاں بہت ساری دلچسپ چیزیں ہیں۔
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION