0

آموزش برنامه نویسی جاوا

 
hosseinb68
hosseinb68
کاربر طلایی1
تاریخ عضویت : بهمن 1389 
تعداد پست ها : 1269
محل سکونت : بوشهر

آموزش برنامه نویسی جاوا - قسمت دهم: نامگذاری صحیح متغیرها و برنامه ظرفیت مجاز آسانسور
چهارشنبه 25 دی 1392  1:38 PM



فرض کنیم که در یک برج مسکونی زندگی می کنیم و علیرغم اینکه مدیر ساختمان از سکنه درخواست کرده است که بیش از 10 نفر باهم سوار آسانسور نشوند باز هم مشاهده می کند که سکنه رعایت نمی کنند. با توجه به اینکه ایشان می دادند که ما یک برنامه نویس هستیم از ما درخواست می کند که یک برنامه برای ظرفیت مجاز آسانسور بنویسیم. ما هم از درخواست ایشان استقبال کرده و اقدام به نوشتن برنامه می کنیم. پس زمان رفتن طبقه پایین! (ادامه مطلب) رسیده است. دکمه را فشار دهید.

برای نوشتن چنین برنامه ای اول یک پروژه جدید در اکلیپس ایجاد می کنیم و نام آن را 10th Session به معنی جلسه دهم می گذاریم. حال یک Class تحت عنوان ElevatorCapacity به معنی ظرفیت آسانسور ایجاد می کنیم. به خاطر داشته باشیم که در حین ایجاد Class گزینه public static void main را تیک بزنیم. حال می بایست کدی به شکل زیر داشته باشیم:

  1. public class ElevatorCapacity {
  2.  
  3. /**
  4. * @param args
  5. */
  6. public static void main(String[] args) {
  7. // TODO Auto-generated method stub
  8.  
  9. }
  10.  
  11. }

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

  1. public class ElevatorCapacity {
  2.  
  3. public static void main(String[] args) {
  4. // عنوان برنامه ظرفیت آسانسور
  5. System.out.println("How many people should get on?");
  6. }
  7.  
  8. }
  9.  

به خاطر داشته باشید که برای وارد کردن Comment به زبان فارسی پس از Save کردن برنامه پیغامی روی صفحه ظاهری می شود که در این مرحله می بایست گزینهUTF-8 Save as را انتخاب نماییم. حال به بررسی تک تک کلید واژه هایی از زبان برنامه نویسی جاوا می پردازیم که بعد از Comment در کد آمده اند. در حقیقت واژه System یکی از کلاس ها یا آجرهای سازنده API در زبان برنامه نویسی جاوا است. این برنامه داخلی جاوا به بخش هایی از کامپیوتر ما دسترسی پیدا خواهد کرد که خارج از کنترل مستقیم ماشین مجازی جاوا یا JVM است(این توضیحات فقط جهت آگاهی بیشتر آمده است و از برنامه نویسان مبتدی درخواست می شد خیلی ذهن خود را درگیر مسائلی از این دست نکنند). واژه out نشانگر جایی در برنامه اکلیپس است که متن را در آن به نمایش در می آورد. در واقع در محیط برنامه نویسی اکلیپس این مکان همان پنجره Console است که نمونه اجرا شده برنامه خود را می توانیم در آن مشاهده کنیم. متد print این دستور را به کامپیوتر می دهد که یک خط از کد را روی صفحه به نمایش در آورد. اهمیت بسیار زیاد آن در زبان برنامه نویسی جاوا، علت توضیح مجدد موضوعی که می خواهم هم اکنون عرض کنم. زبان برنامه نویسی جاوا به حروف بزرگ و کوچک حساس است از اینرو اگر واژه System را با حرف کوچک به صورت system بنویسیم برنامه ما اجرا نخواهد شد. این مسئله در موارد مابقی کلمات Statement فوق نیز صدق می کند. حال که با معنای تک تک کلید واژه های فوق آشنا شدیم بایستی گفت هر آنچه که در داخل پرانتز در مقابل متد println قرار گیرد روی صفحه مانیتور ما در حین اجرای برنامه چاپ خواهد شد. نکته ای که در اینجا می بایست مد نظر قرار دهیم این است که اگر بخواهیم یک جمله را روی صفحه مانیتور چاپ نماییم، در داخل پرانتز می بایست دو علامت “ “ قرار داده و متن خود را داخل آن تایپ کنیم اما در صورتی که بخواهیم فقط به طور مثال مقدار یک متغیر را روی صفحه به نمایش در آوریم می بایست صرفاً نام آن متغیر را درون پرانتز مقابل println بنویسیم که در این صورت هر آنچه مقداری که برای آن متغیر از پیش تعیین کرده باشیم روی صفحه نمایش داده خواهد شد. حال پس از اجرای برنامه جمله How many people should get on? به معنای چند نفر می بایست سوار شوند؟ روی صفحه مانیتور ظاهر شود. هم اکنون می بایست یک متغیر از جنس int برای ذخیره سازی وزن هر شخص که به طور متوسط 75 کیلو است را تعریف نماییم. برای اینکار به صورت زیر عمل می کنیم:

  1. int weightOfEachPerson = 75;

در واقع نام این متغیر را weightOfEachPerson به معنی وزن هر فرد می گذاریم و Value آن را 75 کیلو در نظر می گیریم(توجه داشته باشیم که واحد کیلو فقط در ذهن ما به عنوان برنامه نویس است و هیچ جایی در int آن را تعریف نمی کنیم. از سوی دیگر فرض را در این برنامه بر آن می گذاریم که وزن افراد یک عدد صحیح خواهد بود. اگر بخواهیم چنین امکانی را فراهم کنیم که وزن افراد به صورت اعشاری وارد برنامه شود(مثلاً 75.5 ) صرفاً نیاز است تا از متغیری از جنس double استفاده کنیم). نحوه نام گذاری این متغیر هم به این شکل است که اولین کلمه که weight است با یک حرف کوچک شروع شده و حرف اول کلمات بعدی با حرف بزرگ شروع شده اند(در حقیقت شما هر نامی به هر شکلی را می توانید برای خود در نظر بگیرید اما نکته این جا است که این نوع نامگذاری یک روش رایج مابین برنامه نویسان حرفه ای است و به امید خدا چنانچه روزی شما هم به یک برنامه نویس حرفه ای جاوا و اندروید مبدل شدید و خواستید عضوی از یک تیم برنامه نویسی شوید دیگر مشکلی در رابطه با نحوه نامگذاری نخواهید داشت. از سوی دیگر این روش نام گذاری که اصطلاحاً camelCase نامیده می شود منجر به راحت خواندن اسامی در محیط برنامه نویسی جاوا می شود زیرا اگر به طور مثال نام خود را به صورت عادی و به شکل weightofeachperson بنویسیم به دشواری آن را می توانیم بخوانیم. در زبان انگلیسی واژه Camel به معنای شتر است و این سبک نوشتن به این خاطر به camelCase معرف شده است که نامی که ما در نظر می گیریم یک شمایی از کوهان شتر را خواهد داشت). در مرحله بعد یک دیگر از جنس int برای ظرفیت آسانسور به شکل زیر تعریف می کنیم:

  1. int elevatorCapacity = 750;

نام این متغیر را elevatorCapacity به معنی ظرفیت آسانسور با Value به میزان 750 کیلو تعریف می کنیم. حال بایستی یک متغیر دیگر از جنس int ایجاد کنیم که در آن مقدار elevatorCapacity را بر مقدار weightOfEachPerson تقسیم کنیم. نام این متغیر آخر را numberOfPeople به معنی تعداد افراد می گذاریم و به صورت زیر آن را می نویسیم:

  1. int numberOfPeople = elevatorCapacity / weightOfEachPerson;

در واقع در کد بالا میزان Value این متغیر را حاصل تقسیم ظرفیت آسانسور بر وزن هر شخص تعیین می کنیم. در مرحله آخر از نوشتن برنامه خود می بایست یک متغیر از جنس boolean تعریف کنیم که از طریق آن اجازه بسته شدن درب آسانسور را صادر خواهیم کرد. نام این متغیر را doorClosingOrder یا فرمان بسته شدن در می گذاریم و به شکل زیر آن را می نویسیم:

  1. boolean doorClosingOrder = numberOfPeople > 10;

به طور خلاصه ما به این متغیر دستور می دهیم که اگر مقدار numberOfPeople که حاصل تقسیم مقادیر elevatorCapacity بر weightOfEachPerson می باشد بیش از 10 شود بایستی مقدار boolean که دو حالت بیشتر ندارد true شود یعنی تعداد افراد سوار شده در آسانسور بیش از 10 نفر است و در غیر این صورت مقدار false در نظر گرفته شود به این معنی که تعداد افراد سوار شده در آسانسور کمتر از 10 نفر است. حال کد خود را به شکل زیر تکمیل می کنیم:

  1. public class ElevatorCapacity {
  2.  
  3. public static void main(String[] args) {
  4. // عنوان برنامه ظرفیت آسانسور
  5. System.out.println("How many people should get on?");
  6. //وزن هر شخص
  7. int weightOfEachPerson = 75;
  8. //ظرفیت آسانسور
  9. int elevatorCapacity = 750;
  10. //تقسیم کردن ظرفیت آسانسور بر وزن هر شخص و اختصاص آن به یک متغییر
  11. int numberOfPeople = elevatorCapacity / weightOfEachPerson;
  12. //تعیین اینکه آیا ظرفیت بیش از 10 نفر است یا خیر؟
  13. boolean doorClosingOrder = numberOfPeople > 10;
  14. //نمایش جمله ای به معنای اینکه آیا تعداد افراد بیش از ده نفر است؟
  15. System.out.println("Is the number of people more than 10?");
  16. //نمایش نتیجه متغییر بولین
  17. System.out.println(doorClosingOrder);
  18.  
  19. }
  20.  
  21. }
  22.  

در نهایت جمله Is the number of people more than 10? را از طریق دستور System.out.println(); روی صفحه نمایش می دهیم و پس از آن نتیجه متغیر boolean را در خط آخر کد خود روی صفحه نمایش می دهیم.حال برنامه خود را اجرا کرده و خروجی برنامه را روی صفحه مانیتور مشاهده می کنیم. همانطور که در تصویر زیر مشاهده می شود پس از اجرای برنامه در بخش Console کلمه false نمایش داده خواهد شد.

92219image1.jpg

در واقع برای روشن تر شدن مطلب، کد خود را تفسیر می کنیم. در ابتدا وزن هر فرد را به طور متوسط 75 کیلو در نظر می گیریم و ظرفیت آسانسور را 750 کیلو. سپس ظرفیت آسانسور را بر 75 تقسیم می کنیم که عدد 10 به دست می آید. حال در boolean محاسبه می کنیم که اگر مقدار numberOfPeople بیش از 10 باشد مقدار این متغیر true شود و اگر کمتر از 10 باشد مقدار این false شود. سپس جمله Is the number of people more than 10? به معنی آیا تعداد افراد بیش از 10 نفر است؟ را روی صفحه مانیتور نمایش می دهیم و بعد از آن نتیجه boolean خود را روی صفحه نمایش نشان می دهیم. در واقع با محاسباتی که انجام می دهیم در پاسخ به سوال فوق، برنامه نتیجه false به معنای نادرست یا خیر را به ما می دهد. پس حال که پاسخ به سوال فوق خیر است این اجازه به درب آسانسور داده می شود تا بسته شود.

تشکرات از این پست
دسترسی سریع به انجمن ها