سبد (0)

تعریف متغیرها در جاوا

تعریف یک متغیر یعنی اختصاص دادن مکانی در حافظه به یک نام. در تعریف یک متغیر باید چهار چیز را در نظر بگیریم: 

  • یک نوعِ داده(data type) که درواقع نوعِ داده ای که قرار است در متغیر ذخیره شود را مشخص می کند. 
  • یک شناسه، که درواقع نام متغیر مورد نظر را مشخص می کند. 
  • یک عملگر اختیاری تساوی(انتساب) به همراه یک مقدار. البته در صورتی که شما بخواهید یک مقدار اولیه را به این متغیر انتساب دهید.
  • یک سمی کالن(;) بعنوان پایان کار. 

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

نکته:

به روشی که در آن، یک نام متغیر ابتدا با یک حرف کوچک شروع می شود و سپس دیگر کلمات آن متغیر با حروف بزرگ شروع می شوند، روش شتری(camel casting) گفته می شود. مثلا متغیر lastName به این دلیل به شتر شباهت دارد که یک حرف بزرگ(N) همچون کوهان در وسط آن قرار دارد. 

 بعنوان مثال، دستور زیر یک متغیر از نوع int با نام myAge ایجاد می کند و مقدار اولیه ی 25 را به آن انتساب می دهد:

int myAge = 25;

دستور بالا، یک عبارت کامل است که با یک سمی کالن پایان می یابد. علامت مساوی(=) نیز یک عملگر انتساب است. هر مقداری که در سمت راست علامت مساوی قرار گیرد به متغیر که در سمت چپ علامت مساوی قرار دارد، انتساب داده می شود(در داخل آن ذخیره می شود). به انتسابی که به هنگام تعریف یک متغیر انجام می شود، مقدار دهی اولیه(initialization) گفته می شود و به طور کلی، به مشخص کردن یک مقدار برای یک متغیر در زمان های بعد، انتساب(assignment) گفته می شود. بنابراین طبق گفته ی بالا، به اولین عبارت زیر، مقدار دهی اولیه و به دومین عبارت، انتساب گفته می شود:

int myAge = 25;
myAge = 42;

 یک متغیر تنها یک بار ذخیره می شود اما این امکان وجود دارد تا به کرات مقادیر دیگری را در آن قرار دهید. 

توجه داشته باشید که استفداه از عدد در سمت چپ یک عملگر مانند زیر غیرقانونی می باشد. علملگر انتساب(مساوی) دارای مقدار پذیری از سمت راست به چپ می باشد. مقدار پذیری، به معنای ترتیبی است که در آن مقادیر با استفاده از عملگرها مورد استفاده قرار می گیرند. مقدار پذیری یک عملگر یا راست به چپ است و یا چپ به راست. 

25 = myAge

نکته:

به یک مشخصه، که می تواند در سمت چپ از یک عبارت انتساب(تساوی) قرار گیرد، معمولاً lvalue گفته می شود. یک ثابت عددی مثل 25 را نمی توان lvalue نامید. عدد 25 یک مقدار rvalue است، و به این معنی است که تنها می تواند در سمت راست از یک عبارت انتساب(تساوی) قرار گیرد. یک متغیر را می توان هم lvalue و هم rvalue نامید. اما یک مقدار عددی تنها می تواند rvalue باشد.

در عبارت زیر، یک متغیر از نوع int به نام myAge تعریف شده است، اما در زمان تعریف شدن، هیچ مقداری به آن انتساب داده نشده است:

int myAge;

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


 شما می توانید دو یا چند متغیر از یک نوع را در یک عبارت نیز تعریف کنید. برای انجام این کار، این متغیرها را با استفاده از علامت کاما(,) از یکدیگر جدا کنید، درست مثل زیر:

int myAge = 25, yourAge = 19;

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


اگر می خواهید که متغیرهایی را با نوع های مختلف تعریف کنید، باید برای هر نوع، یک عبارت جدا را تعریف نمایید. 

تمامی محصولات و خدمات این وبسایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه می‌باشند و فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
logo-samandehi مجوز نشر دیجیتال از وزرات فرهنگ و ارشاد اسلامی پرداخت آنلاین -  بانک ملت معرفی بیاموز در شبکه سه