انواع متغیرها و نحوه ی ایجاد و اختصاص مقدار به آن ها در زبان برنامه نویسی جاوا


پس از این که اولین برنامه جاوای خود را نوشتیم و جمله In the Name of God را در کنسول به نمایش در آوردیم، حال نوبت به درک اصولی Variable ها یا همان متغیرها در زبان برنامه نویسی جاوا می رسد. در واقع متغیرها عناصری در زبان های برنامه نویسی می باشند که می توانند داده ها را در خود ذخیره سازند ۰داده در یک متغیر این قابلیت را دارا است که در هر زمانی توسط برنامه نویس یا کاربر تغییر یابد و از همین رو است که نام متغیر روی آن گذاشته شده است.) برای درک بهتر متغیرها می توانیم جایی در حافظه کامپیوترمان را متصور شویم که یک Value یا مقداری در آن ذخیره می شود. حال اگر مقدار جدیدی جایگزین مقدار قبلی شود، آن مقدار جدید جایگزین مقدار قبلی در حافظه خواهد شد و ما به کلی مقدار قبلی را از دست خواهیم داد.

برای این که بتوانیم در زبان برنامه نویسی جاوا از متغیرها استفاده کنیم می بایست سه نکته را همواره مد نظر داشته باشیم: هر متغیر شامل نوع، نام و مقدار متغیر می باشد (نام هر متغیر واژه ای از جنس Identifier می باشد.) در واقع اگر متغیر ما هر یک از این سه مورد را نداشه باشد، ما یک متغیر ناقص ایجاد کرده ایم.

برای درک بهتر مفهوم متغیرها، همان طور که پیش از این آموزش داده شد، یک برنامه جدید جاوا در محیط IDE خود ایجاد کنید و نام آن را Variables بگذارید. سپس یک کلاس داخل آن ایجاد کرده و نام آن را Variable بگذارید (لازم به ذکر است این اسامی دلخواه هستند فقط نکته ای که لازم است مد نظر قرار داده شود این است که حرف اول نام کلاس به صورت بزرگ نوشته شود.) در واقع ما برای وارد کردن اطلاعاتی از جنس اعداد صحیح داخل برنامه خود می توانیم از یک متغیر از جنس int استفاده کنیم (لازم به ذکر است برای این نوع داده انواع دیگری هم از متغیرها وجود دارند که عبارتند از byte, short, long) همچنین برای ذخیره سازی اطلاعاتی از جنس اعداد اعشاری از نوعی از متغیرها از جنس double استفاده خواهیم کرد (لطفا به حروف بزرگ و کوچک واژگان int و double توجه فرمایید چرا که قبلاً هم گفته شد که زبان برنامه نویسی جاوا CaseSensitive است یا به عبارت دیگر به حروف بزرگ و کوچک حساس می باشد.) علاوه بر متغیر double، ما از متغیر float هم می توانیم برای ذخیره سازی اعداد اعشاری استفاده کنیم با این تفاوت که دقت متغیر double به مراتب بیشتر است (لازم به ذکر است در این سری از آموزش ها برای اعداد صحیح و اعشاری به ترتیب از متغیرهای int و double استفاده خواهیم کرد.)

نکته ای که در مورد متغیرها می بایست مد نظر قرار داد این است که ما برای جلوگیری از طولانی شدن کد خود می توانیم متغیرها را با یکدیگر ادغام نماییم. اما در حین ادغام متغیرها بایستی توجه داشته باشیم که نوع متغیرهایی که می خواهیم با یکدیگر ادغام کنیم می بایست از یک جنس باشد. به طور مثال نمی توانیم یک متغیر از جنس int و یک متغیر از جنس double را با یکدیگر ادغام کنیم. به مثال زیر توجه کنید:

int apple= 8, banana = 10, orange= 12;

در مثال فوق ما سه متغیر از جنس int خواهیم داشت که مقادیر آن ها هم مشخص شده است. چنانچه توجه کرده باشید، در مثال فوق متغیرها به وسیله کاما از یکدیگر جدا شده اند و پس از آخرین متغیر یک علامت ; قرار گرفته است.

زمان هایی در برنامه نویسی پیش خواهد آمد که ما نیاز داریم تا مقادیری از جنس حرف یا کاراکتر را در یک متغیر ذخیره سازیم. برای این منظور می توانیم از متغیری از جنس char استفاده کنیم. به عبارت دیگر، به منظور وارد کردن صرفاً یک کاراکتر یا یکسری از علائم خاص در برنامه خود ما می بایست از متغیر char استفاده کنیم. نکته ای که اینجا می بایست حتماً مد نظر قرار داده شود این است که مقدار مد نظر برای این نوع متغیر حتماً می بایست داخل علامت های ' ' قرار گیرد.

نکته
توجه داشته باشیم که برای نوشتن یک کلمه که حاوی بیش از یک کاراکتر باشد به هیچ وجه نمی توان از متغیر char استفاده کرد.

پس از آشنایی با تعدادی از پرکاربرد ترین متغیرها در زبان جاوا، این نکته را هم می بایست مد نظر داشته باشیم که برای اختصاص دادن مقداری به یک متغیر، ما نیاز داریم تا از علامت = پس از نام متغیر و قرار دادن علامت ; در انتهای دستور استفاده کنیم.

در برنامه نویسی اپلیکیشن برای اندروید و یا وب اپلیکیشن و ... ما با شرایطی من جمله آیا کاربر رمز خود را صحیح وارد کرده است؟ آیا کاربر دکمه را فشار داده است؟ و ... رو به رو خواهیم شد. در واقع در چنین شرایطی ما به برنامه خود می گوییم که آری رمز صحیح وارد شده و یا آری کاربر دکمه اینتر را فشار داده است. در چنین شرایطی متغیری نیاز داریم تا true و یا false بودن و به عبارتی درست یا اشتباه بودن یک رویداد را برای ما مشخص کند. متغیری از جنس boolean دقیقاً این کار را برای ما انجام خواهد داد.

هشدار
نکته ای که در اینجا می بایست مد نظر قرار داده شود این است که گرچه مقادیر این نوع متغیر true و یا false هستند، اما ما این اجازه را نداریم تا همانند متغیرهای char و String آن ها را داخل علامت های ' ' و یا " " قرار دهیم و در صورتی که به اشتباه به جای true از 'true' استفاده کنیم، برنامه ی ما در حین کامپایل شدن به ارور خواهد خورد.

روش نامگذاری صحیح متغیرها
یکی از بخش هایی که می تواند در برنامه نویسی به ما کمک کند، نحوه ی نام گذاری کلاس ها، متدها و متغیرها است. در این بخش راه کارهایی ارائه خواهد شد که در نام گذاری متغیرها و دیگر بخش های برنامه می تواند اثر بخش باشند. هر متغیر نیاز دارد که یک نام داشته باشد. حال این نام می بایست با یک حرف کوچک شروع شود. نامی که ما برای متغیرهای خود انتخاب می کنیم بایستی مرتبط با اطلاعاتی که قرار است در متغیر ما ذخیره شود باشد. به طور مثال اگر قرار است که ما یک متغیر از جنس int ایجاد کنیم که اطلاعات مربوط به تعداد مسافرین یک هتل را در خود ذخیره سازد، ایجاد متغیری مثل ;int people = 300 اصلاً کار درستی نیست. درست است که کامپایلر به هیچ وجه از ما ایرادی نمی گیرد، اما این در حالی است که عنوان people که ما برای متغیر خود انتخاب کرده ایم توصیف کننده ماهیت متغیر نمی باشد. در عوض، نامگذاری این متغیر به صورت ;int guestNumber = 300 به مراتب بهتر است چرا که این نام نشان دهنده اطلاعاتی است که قرار است در برنامه خود ذخیره سازیم.

در نام گذاری اگر نامی که برای متغیر خود انتخاب می کنیم بیش از یک کلمه باشد ما اجازه نداریم که از فاصله استفاده کنیم بلکه واژگان باید به یکدیگر چسبیده باشند. حال اگر کلیه واژگان به یکدیگر چسبیده باشد خواندن آن ها به مراتب دشوار تر از حالت معمولی خواهد بود. برای این منظور از واژه اول به بعد حرف اول کلیه واژگان را به صورت بزرگ می نویسیم که این کار خواندن نام متغیرها را به مراتب آسان تر خواهد ساخت. به طور مثال به جای نوشتن guestnumber می نویسیم guestNumber که این سبک نامگذاری اصطلاحا camelCase نامیده می شود.

نکته دیگری که در نام گذاری متغیرها می بایست مد نظر قرار داده شود این است که ما اجازه نداریم از علائم Punctuation مثل – و . و , در نام گذاری استفاده کنیم. اکنون برای روشن شدن مطالب بالا، کلیه متغیرها را در قالب یک مثال به صورت زیر نمایش می دهیم:

class Variable {
    int appleNumber = 100;
    double moneyAmount = 22.3;
    char letterName = 'A';
    boolean myBoolean = true;
}

در کد فوق مشاهده می کنیم که ما یک متغیر از جنس int داریم که برای ذخیره سازی اعداد صحیح مورد استفاده قرار می گیرد. نام این متغیر appleNumber است به معنی تعداد سیب و مقدار آن 100 است. توجه داشته باشیم مقداری که برای این متغیر در نظر گرفته شده است پس از علامت مساوی قرار گرفته و در انتهای این دستور یک علامت ; قرار گرفته است که به معنای پایان دستور می باشد (همانطور که در نامه نگاری با گذاشتن نقطه جمله خود را به پایان می رسانیم در به پایان رساندن یک دستور هم در زبان برنامه نویسی جاوا ما از علامت ; استفاده می کنیم.)

متغیر دوم از جنس double است. به عبارت دیگر، این متغیر می تواند اعداد اعشاری را در خود جای دهد. نامی که برای این متغیر در نظر گرفته شده است moneyAmount به معنای مقدار پول است و مقدار اختصاص داده شده به آن هم 22.3 است.

متغیر سومی که ما در برنامه خود استفاده خواهیم کرد از جنس char است. به عبارت دیگر، ما فقط و فقط می توانیم یک حرف یا علامت را در آن جای دهیم. نام این متغیر letterName یا نام حرف است و مقدار آن حرف A است که داخل دو علامت ' ' قرار گرفته است.

در نهایت یک متغیر از جنس boolean ایجاد می کنیم که نام آن myBoolean است. مقداری که برای این متغیر انتخاب می کنیم true است. به عبارت دیگر هر کجای برنامه که ما نام این متغیر را فرا بخواهیم، این هشدار را به برنامه خود می دهیم که این متغیر true است. به خاطر داشته باشیم که برخلاف متغیرهای char و String متغیر boolean مقدار خود را داخل علامت های ' ' و " " قرار نمی دهیم.

نکته
به طور خلاصه در زبان برنامه نویسی جاوا هشت نوع متغیر اولیه یا Primitive Type وجود دارد که عبارتند از byte, short, int, long, float, double, char, boolean که از میان این هشت نوع متغیر، متغیرهای int, double, char, boolean از اهمیت بیشتری برخوردار می باشند.

پس از آشنایی با متغیرهای Primitive Type، نوبت به فراگیری اصول به کار گیری String ها در زبان برنامه نویسی جاوا به منظور به نمایش درآوردن تعدادی کاراکتر پشت سر هم یا به عبارت دیگر به نمایش درآوردن یک جمله در کنسول می رسد که در آموزش آتی به طور مفصل مورد بررسی قرار خواهد گرفت. 

لیست نظرات
کاربر میهمان
دیدگاه شما چیست؟
کاربر میهمان
kate
kate
عالی
جاوا رو من از طریق سی دی های آموزشی یک شرکت معتبر آموزش دیدم که وا اسفا ، فقط گیجم کرد و مأیوس. آموزشتون بیسیک هستش و روان!
خسته نباشید دوست عزیز از زحمتی که کشیدی
hmdshariati
hmdshariati
عبدالحمید ارجمند
عبدالحمید ارجمندAndroid Developer - Java - عاشق گجتهای اپل و مایکــ
عجیب هستن این بچها ، چقدر رک شدند

در پاسخ به

کاربر میهمان
کاربر میهمان
kheili mamnoon az sita alitoon.movafagh bashid
کاربر میهمان
کاربر میهمان
mamnooon vaghean./
کاربر میهمان
کاربر میهمان
واقعا عالی ممنونم
کاربر میهمان
کاربر میهمان
حداقل یه اموزش برای اجرا کردن کد بزارید تا بفهمیم چظوری کد رو اجرا کنیممن ران رو که میزنم هیچ اتفاقی نمی افتع
عبدالحمید ارجمند
عبدالحمید ارجمندAndroid Developer - Java - عاشق گجتهای اپل و مایکــ
عجله نکنید ، شما هنوز در ابتدای راه هستید .اتفاقا همین چندبخشهای آینده رو که ببینی میتونه چیزهایی برای خودت خلق بکنی ، حتی شاید با 5و 6 فصل نتونی یه برنامه ی خوب بنویسی ، پس به سوی نامحدود برو جلو ...

در پاسخ به

کاربر میهمان
کاربر میهمان
خیییییییلی عااالی!
آموزش ها کامل و قابل درکه!
یه سوال:من دقیقا نفهمیدم که boolean چه کاربردی داره؟
عبدالحمید ارجمند
عبدالحمید ارجمندAndroid Developer - Java - عاشق گجتهای اپل و مایکــ
شناخت boolean در این مرحله برای شما شاید به راحتی ملموس نباشه ، اما در قسمتها بعد که جلو برید بهتر باهاش آشنا میشید . همونطور که byte و integer یک تایپ هستند ، بولیِن هم یک نوع تایپ هست . مثلا در آینده شما این رو میخونید که اگه کاربر روی این مورد کلیک کرد ، به جایی منتقل بشه ، در همون کدی که برای کلید مینویسید مثلا تعیین میکنید boolen ـی که قبل از اون false بوده ، دراین نقطه برابر با true میشه ( یا بالعس ) و بعد به راحتی چک میکنید که مثلا اگه این بولیِن ترو یا فالس بود یک واکنشی نشون بده ، مثلا رنگش عوض بشه یا هرچیزی . فکر کن بولیِن یک علامت و نشونه ای هست اول تعریف میکنی میگی : (مثلاً) انگشت سبّابه ی من رو به بالا هست . بعد میری توی همونجا که تعریف کرده بودیم یک چیز کلیک بشه میگیم اگه هنوز هم انگشت انگشت سبابه رو به بالا بود فلان کار انجام بده ، یا اگه رو به پایین بود .. ) در کل باید جلوتر برید ، خیلی بهمون کمک میکنه

در پاسخ به

کاربر میهمان
کاربر میهمان
سلام. در مثالی که برای ادغام متغیرها آوردین سه تا عدد نوشتین. حالا برای نشون دادن خروجی اونها باید به چه شکل عمل کنیم. یعنی برای اینکه نتیجه ادغام این سه متغیر در قسمت کنسول برنامه نشون داده بشه باید داخل پرانتز System.out.println( ); چی بنویسیم؟
عبدالحمید ارجمند
عبدالحمید ارجمندAndroid Developer - Java - عاشق گجتهای اپل و مایکــ
خوب خیلی راحته ، مشخصاً یا بصورت مستقیم توی پرانتز مینویسی ( برای جمع کردن ) : (apple + banana + orange ) با اینکار مقدار اینتیجری هر سه در هم ادغام میشه و شما به مراد خودتون میرسید . اما طریقه ی صحیحتر و پیشنهاد من این هست که : بعد از اون یه اینتیجر یکی اینتیجر دیگه تعریف کنی مثلا : int plus و مقدارش رو برابر با apple + banana + orange بکنی ، بعد میای توی همین کدی خودتون نوشته بودید و برای اینکه توی کنسول مجموع ادغام شده ی همه شون بیاد ، توی پرانتز مینویسی plus به همین راحتی

در پاسخ به

Mahmood
Mahmood
با سلام و با تشکر از آموزش های عالیتون جناب مهندس مرادی
من که حتی یه خط کد هم بلد نبودم خیلی خوب مفاهیم رو متوجه شدم
فقط یه مشکل تو این خط کدتون هست و اونم اینه که boolean رو با حرف B بزرگ نوشتید لطفا اصلاح کنید
Boolean myBoolean = true;
ادمین سایت
ادمین سایت
با سلام و تشکر از شما کاربر گرامی
اصلاح گردید

ارادتمند
تیم سکان آکادمی

در پاسخ به

Mahmood
Mahmood
خواهش می کنم
موففق و پیروز باشید

در پاسخ به

CIna Deuxshiri
CIna Deuxshiri
سلام. البته این هم درسته. به این کلاس Boolean اصطلاحا wrapper class گفته میشه.

در پاسخ به

Mahmood
Mahmood
آهان من نمیدونستم
عذر خواهی میکنم

در پاسخ به

javad
javad
با درود فراوان،بسیار آموزنده و زیبا،در پناه حق
کاربر میهمان
کاربر میهمان
ممنون
کاربر میهمان
کاربر میهمان
سلام.. در نمونه هایی که شما قرار دادید، class Variable نوشتید ولی برای من public class Variable میزنه.. میشه دلیلشو توضیح بدید
مریم احمدی
مریم احمدی
این واسه منم سواله رنگشم فرق داره

در پاسخ به

CIna Deuxshiri
CIna Deuxshiri
سلام. دوست عزیز در آموزش ها در مورد public, private, protected توضیح داده شده. مطالعه کنید متوجه می شوید.

در پاسخ به

کاربر میهمان
کاربر میهمان
یه دونه اید و امیدوارم یدونه بمونید ... ادامه بدید لطفا
alireza bod
alireza bod
کارتون عالیه,تشکر از تیم سکان آکادمی
ادمین سایت
ادمین سایت
ممنون از شما کاربر عزیز

در پاسخ به