اغلب لازم است از متغیرهای اضافی استفاده شود که فقط در زیربرنامه استفاده می شوند. چنین متغیرهایی local (یا محلی) نامیده می شوند و فقط می توانند در زیر برنامه ای که در آن ایجاد شده اند دستکاری شوند.
محدوده متغیر محلی بلوک پرانتزی مجعدی است که در آن تعریف شده است< /em>
برنامه اصلی در جاوا نیز یک برنامه فرعی است، بنابراین همه متغیرهای اعلام شده در
main()
متغیرهای محلی هستند
ساير برنامههاي فرعي چيزي درباره متغيرهاي محلي ساير برنامهها نميدانند.
بنابراین، می توان دامنه (حوزه) یک متغیر را فقط به زیربرنامه ای که واقعاً مورد نیاز است محدود کرد. در برنامه نویسی به این تکنیک
encapsulation - پنهان کردن یک متغیر از تغییر از خارج.
اگر لازم است متغیری را تعریف کنید که در هر نقطه از برنامه قابل مشاهده باشد (در هر زیربرنامه)، آنگاه چنین متغیرهایی خارج از همه زیربرنامه ها اعلام می شوند (برنامه 3 را از جدول زیر ببینید)
چنین متغیرهایی
جهانی نامیده می شوند.
در جاوا، هنگامی که برنامه شروع می شود، همه متغیرهای سراسری به طور خودکار روی صفر تنظیم می شوند (متغیرهای بولی نادرست می شوند)
تجزیه و تحلیل سه برنامه:
<بدن>
1) در این برنامه متغیر i محلی است. یک متغیر محلی در یک زیربرنامه | اعلان می شود
2) در اینجا، حتی اگر یک متغیر i در برنامه اصلی (با مقدار 7) وجود داشته باشد، یک متغیر محلی جدید i با مقدار 5 ایجاد می شود.
وقتی این برنامه را اجرا می کنید، روی صفحه مقدار 75 | نمایش داده می شود
3) این برنامه دارای یک متغیر جهانی i است. مقدار آن را می توان در یک زیر روال و در داخل برنامه اصلی تغییر داد
رویه با متغیر سراسری i کار می کند و مقدار جدیدی برابر با 2 به آن اختصاص داده می شود. مقدار 2 | روی صفحه نمایش داده می شود.
آزمون خلأ استاتیک ()
{
int i = 5;
System.out.println(i);
}
|
آزمون خلأ استاتیک ()
{
int i = 5;
System.out.println(i);
}
public static void main(string[] args) {
{
int i = 7;
System.out.println(i);
تست()؛
}
|
کلاس عمومی اصلی {
int i;
آزمون خلأ استاتیک ()
{
i = 2;
}
public static void main(string[] args) {
{
تست()؛
System.out.println(i);
}
|