به قسمت دوم آموزش جاوا خوش اومدین. این بار در مورد مقادیر اولیه براتون مینویسم. البته با این تفکر جلو میریم که برنامهنویسی رو بلدین و فقط با جاوا آشنا نیستین. اگه این طور نیست و برنامه نویسی بلد نیستین بهتره که برین یاد بگیرین! البته شاید یه مقدمه ای در آینده براتون نوشتم!
اول از همه در مورد مقادیر حقیقی بگم. مقادیری که اعداد اعشاری رو میزبانه. در جاوا استاندارد IEEE-754 (استاندارد عملیات حسابی اعداد ممیز شناور و باینری) و این متغیر ها رو float و double نام گذاری می کنن. هر کدومشون به ترتیب 32 و 64 بیت از حافظه رو میخورن (لفظ می خورن معادل قورت دادنه! یه جورایی کنار گذاشتن معنی میده.) 4 نوع دادهی دیگه byte و short و int و long هستن که به ترتیب 8 و 16 و 32 و 64 بیت از حافظه کنار میذارن. این 4 نوع همگی صحیح هستن و اعداد منفی رو هم شامل میشن. نوع بعدی boolean هستش که فقط مقادیر صحیح (true) و غلط (false) رو میپذیره. و نوع آخر هم char که هستش. در مورد char باید گفت که مثل زبان c وهم دست هاش فقط یک کاراکتر جا میشه اما نکته داره! اون کاراکتر یونیکُد و 16 بیتیه. لازم به ذکره که جاوا متغیری از نوع string نداره و اون رو به صورت کلاس پیاده سازی کرده (بعداً مفصل توضیح میدم).
شاید گفتن نحوهی نام گذاری در جاوا هم لازم باشه، قواعد نامگذاری متغیرها (بعداً خواهم گفت که بقیهی نام گذاری ها هم مثل متغیر هاست!) در جاوا از قواعد زیر پیروی میکنه. البته نیازی به حفظ کردن قواعد نیست فقط کافیه وقتی که میخواین متغیر تعریف کنید، خودتون رو جای کامپایلر بیچاره بذارین و به نام متغیر نگاه کنید! مثلاً اگه 3 تا متغیر به نام های saar و blog و saar-blog تعریفکنید (که البته نمیشه) و یه جایی تو برنامه بنویسین saar=saar-blog+blog برنامه از کجا بفهمه که منظورتون از saar-blog متغیره یا تفریق دو متغیر! دیدین بیچاره حق داره؟!
- نام میتونه با یک حرف یا خط زیر (همون آندرلاین خودمون«_») یا علامت دلار (همون دالرساین خودمون «$») شرو بشه.
- نام ترکیبی از حروف و اعداد و خط زیر و علامت دلاره.
- کلمات رزرو نمیتونن به عنوان نام متغیر باشن. (کلماتی که تو جاوا معنی خاصی میدن، کلمات رزرو شده ان.)
- برای طول نام هم هیچ محدودیتی نیست.
لیست کلمات رزرو شده رو میتونید اینجا ببینید. البته یه سری مرام نامهها (من از این کلمهی «مرامنامه» خیلی خوشم میاد!) هم هست که برای این که مرام جاوایی داشته باشی باید رعایتشون کنی! مثلاً این که متغیر ها با حروف کوچیک شرو میشن یا اسم های ترکیبی باید شتری باشن! یعنی این که هر کلمه بعد از کلمهی اول با حروف بزرگ شرو میشه مثلاً saarBlog. البته اگه این مرام نامه رو رعایت نکنید باز برنامتون اجرا میشه ها! فقط در این صورت مرام جاوایی ندارین!
اما اصل ماجرا! چطور یه متغیر تعریف کنیم؟! یه نکته بگم که متغیر توی کلاس ها تعریف میشه (بعدا بحث میکنیم). برای تعریف کافیه که اول نوع متغیر رو بگیم (همین ها که بالا گفتم) بعد اسمشون و اگر حال کردین! مقدارشون! مثلا من شونصدتا متغیر این پایین تعریف میکنم:
int anIntValue;
int firstInt, secondInt;
char aCharValue;
float floatNumber = 69.108;
double pi=3.14;
short short1= -10, short2=7;
boolean aBooleanValue, aFalseValue=false, aTrueValue=true;میبینید چقدر آسونه؟! بذارین حرفهام رو کامل کنم. متغیر ها با کاما از هم جدا میشن وقت تعریف. برای مقدار دادن به متغیر های کاراکتری، کاراکتر ها رو بین علامت نقل قول تکی «’» (SingleQuote) قرار میدیم. و اما مقدار دادن به متغیر ها! کار سختی نیست! رایج ترینش استفاده از عملگر = یه که همتون بلدین، اگه بلد نیستین بگم که در برنامه نویسی متغیر ها رو باید فضایی ار حافظه در نظر گرفت. مثل یه کاسه! وقتی میخوایم مقداری رو به اون نسبت بدیم، اول اسم متغیر رو مینویسیم و بعد علامت مساوی و در آخر هم مقدار (که البته میتونه یک متغیر دیگه یا نتیجهی یه عمل باشه!) باز شونصد تا مثال:
anIntValue=1367;
aCharValue='S';
floatNumber = 69.108;
pi=3.14;
short1= -10;
aBooleanValue=true;و میرسیم به ثابتها! آمادهی تعجب بشین! ثابت ها متغیر هایی هستن که در برنامه تغییر نمیکنن! نمونهی بارز یک پارادوکس! همه چیز ثابت ها مثل متغیر هاست ولی با این تفاوت که اول تعریفشون واژهی «final» میاد. البته بدیهیه که در متن برنامه نمیتونیم به ثابت ها مقدار بدیم (این با تعریف تضاد داره!!!) و فقد میتونیم وقت تعریف متغیر ثابت به اون ها مقدار بدیم. شاید بدرسیم به چه درد میخوره حالا! بعضی از اعداد هیچ وقت تغییر نمیکنن، مثل عدد پی یا e میتونیم این ها رو به عنوان ثابت در نظر بگیریم. من دو نمونه مثال بزنم
final float pi=3.142857; //3+1/7
final double e =2.718281828;من تو مثال بالادوتا علامت // زدم و بعدش یه چیزی نوشتم، اون چیز! ی راهنماست و کار خاصی رو انجام نمیده! برای اینه که اگه یه آدم (احتمالاً) برنامه رو دید بفهمه که من چکار کردم. یعنی مترجم (کامپایلر) اون را نادیده میگیره. من عدد پی رو از جمع 3 و 1/7 بدست آوردم.
تا اینجا بسه. جلسه بعدی بقیش رو میگم. البته به خاطر این بسه که منخسته شدم! اما یک سری نکته که دونستنش لازمه:
- بعد از هر خط برنامه باید یه «;» بذارید البته دلیل داره و اون هم این که مترجم بفهمه که به پایان یک دستور رسیده. البته این شیوه رو تو زبون های دیگه مثل c و pascal و هم خانوادههاشون هم میبینید.
- جاوا به بزرگ یا کوچیک بودن حروف حساسه. متغیر Ramin و ramin با هم تفاوت دارن.
- جاوا نسبت به فاصله حساس نیست، به آخرین کد که نوشتم دقت کنید: برای pi مساوی رو از دو طرف چسبوندم به pi و 3.142857 ولی برای e این کار رو نکردم و البته تفاوتی هم ندارن. البته توی همهی زبون ها اینطوریه (البته تقریباً)
خسته نباشید! تا جلسهی بعد سعی کنید بیشتر بخونید! (و کلی از این زرد نوشته ها!)





آخرین نظرات