Module: (جاوا) زیر برنامه ها: رویه ها و توابع - 1


Problem

9 /11


متغیرهای محلی و جهانی

Theory Click to read/hide

اغلب لازم است از متغیرهای اضافی استفاده شود که فقط در زیربرنامه استفاده می شوند. چنین متغیرهایی 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); }

Problem

رویه ای با پارامتر n بنویسید که درخت کریسمس را با تاجی به ارتفاع n نمایش می دهد
برنامه اصلی باید حاوی ورودی مقدار متغیر n و فراخوانی رویه
باشد
نمونه‌ها <سر> <بدن>
# ورودی خروجی
1 5 <پیش>     o    اوو   اوووو  اووووو oooooooo