سبد (0)

میدان دید متغیرها و ثابت ها در جاوا

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

نکته:

در فصل های آینده با کلاس هایی مواجه خواهیم شد که حاوی چندین آکولاد هستند. 

 یک متغیر یا یک ثابت، در یک زمان تنها می توانند حاوی یک مقدار باشند. برای درک این گفته، به توضیحات زیر توجه کنید:

 یک ثابت، در هنگام اجرای یک برنامه تنها می تواند حاوی یک مقدار باشد. هر متغیر نیز در یک زمان، تنها می تواند حاوی یک مقدار باشد. فرض کنید که دو متغیر به نام های x و y داریم و متغیر x حاوی عدد 2 است و متغیر y حاوی عدد 10 است. حالا فرض کنید که می خواهیم مقادیر این دو متغیر را با یکدیگر جا به جا کنیم به طوری که x حاوی 10 باشد و y حاوی 2. برای انجام این کار، نمی توانیم بگوییم که x=y زیرا با انجام این کار، هر دو متغیر برابر با عدد 10 خواهند شد و مقدار 2 از بین خواهد رفت. به طور مشابه، اگر بگوییم که y=x، آنگاه هر دو متغیر حاوی عدد 2 خواهند شد و عدد 10 از بین خواهد رفت. راه حل این است که از یک متغیر سوم به نام z به صورت زیر استفاده کنیم:

مثال:

int x = 2, y = 10, z;
z = x;
x = y;
y = z;

 در این مثال، متغیر z، نقش یک محل موقت را برای مقادیر اصلی بازی می کند. ابتدا متغیر z برابر با مقدار x می شود، پس الان z برابر با 2 است. سپس مقدار متغیر y (که 10 است) x انتساب داده می شود. سپس مقدار متغیر y ( که 10 است) به x انتساب داده می شود. در پایان، عدد 2 که در متغیر z نگهداری می شد، به y انتساب داده می شود. در این مثال از یک متغیر اضافی استفاده شده بود، زیرا به محض اینکه شما یک مقدار را به یک متغیر انتساب دهید، هر مقداری که قبلا در مکان آن متغیر در حافظه قرار داشت از بین می رود. 


آزمون: دو گزینه ی صحیح و یک گزینه ی غلط

موضوع: استفاده از ثابت ها و متغیرها

توضیحات: گزینه ی اشتباه را مشخص کنید.

1. یک متغیر، درواقع یک مکان نام دار در حافظه است که می توانید از آن برای ذخیره ی یک مقدار استفاده کنید. یک متغیر، در یک زمان تنها می تواند حاوی یک مقدار باشد. اما مقداری که در داخل آن قرار دارد می تواند تغییر کند. 

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

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


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

 

 

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