در این آموزش به تشریح نحوۀ صحیح نامگذاری متغیرها در قالب پروژهای کاربردی خواهیم پرداخت که در آن قصد داریم تا بر اساس میانگین وزن چند نفر و همچنین ظرفیت یک آسانسور، بررسی کنیم ببینیم که آیا آسانسور مد نظر قابلیت حمل ایشان را دارد یا خیر.
حال برای پیادهسازی پروژۀ خود فرض میکنیم که در یک برج مسکونی زندگی میکنیم و در ادامه بر اساس میانگین وزن سکنه و همچنین تعداد افرادی که در هر بار سوار آسانسور میشوند، وزن کل افراد را محاسبه کرده و با ظرفیت مُجاز مقایسه میکنیم که برای آسانسور مورد نظر تعریف نمودهایم.
برای پیادهسازی چنین برنامهای، در ابتدا یک پروژۀ جدید در آیدیای خود ایجاد کرده و نامی دلخواه همچون Elevator برای آن انتخاب میکنیم. در ادامه، یک کلاس تحت عنوان ElevatorCapacity
ساخته و گزینۀ public static void main را تیک میزنیم به طوری که خواهیم داشت:
public class ElevatorCapacity {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
همانطور که در آموزشهای پیشین اشاره کردیم، متد ()main
در کد فوق به منزلۀ نقطۀ شروع برنامه است. در ادامه، تعداد افراد حاضر در آسانسور و میانگین وزن ایشان را تعریف میکنیم که برای این منظور کد فوق را به صورت زیر تکمیل مینماییم:
public class ElevatorCapacity {
public static void main(String[] args) {
double weightOfEachPerson = 75.5;
int numberOfPeople = 16;
}
}
در کد فوق، با استفاده از دیتا تایپ double
متغیری تحت عنوان weightOfEachPerson
تعریف کرده و عدد اعشاری 75/5 را بدان اختصاص دادهایم که نوع دادۀ double
را جهت فراهم کردن امکان ذخیره و نگهداری اعداد مربوط به وزن هر فرد در قالب یک عدد اعشاری تعریف کردهایم. سپس با بهکارگیری نوع دادۀ int
متغیری دیگر به نام numberOfPeople
تعریف کرده و عدد صحیح مربوط به تعداد افراد حاضر در آسانسور را در آن ذخیره نمودهایم (بدیهی است که تعداد افراد نمیتواند از نوع عدد اعشاری باشد.)
همانطور که میبینیم، نامی که برای هر یک از متغیرها انتخاب کردهایم متشکل از چند واژه میباشد که در آنها کلمۀ اول را با حروف کوچک نوشته و حروف اول از سایر کلمات را به صورت بزرگ نوشتهایم (توجه داشته باشیم که این شیوهٔ نامگذاری یک روش رایج در میان برنامهنویسان میباشد که منجر به سادگی در خواندن اسامی متغیرها و همچنین تسهیل درک سورسکد میگردد.)
نکته |
روش نامگذاری فوقالذکر اصطلاحاً camelCase نامیده میشود به طوری که در زبان انگلیسی واژۀ Camel به معنای «شتر» بوده و نامگذاری متغیرها با این سبک نیز بر اساس شمایی از «کوهان شتر» بدین نام شناخته شده است. |
در این مرحله، نیاز است تا مجموع کل وزن افراد حاضر در آسانسور را محاسبه نماییم که برای این منظور میانگین وزن سکنه را در تعداد افراد حاضر در آسانسور ضرب مینماییم. بنابراین نیاز است تا متغیری به صورت زیر تعریف کرده و برنامۀ خود را تکمیل کنیم:
public class ElevatorCapacity {
public static void main(String[] args) {
double weightOfEachPerson = 75.5;
int numberOfPeople = 16;
double totalWeight = weightOfEachPerson * numbersOfPeople;
}
}
همانطور که در کد فوق ملاحظه میشود، با استفاده از دیتا تایپ double
متغیری تحت عنوان totalWeight
تعریف کرده و حاصلضرب هر یک از مقادیر منتسب به متغیرهای weightOfEachPerson
در numberOfPeople
را به متغیر مذکور اختصاص دادهایم (توجه داشته باشیم که تمامی اسامی متغیرها متناسب با ماهیت دیتای متناظرشان میباشند.) در ادامه، متغیر دیگری جهت نگهداری ظرفیت مجاز آسانسور مذکور به صورت زیر تعریف میکنیم:
double elevatorCapacity = 750;
در دستور فوق، جهت تعریف متغیر مربوط به ذخیرۀ ظرفیت مجاز آسانسور نیز نوع دادۀ double
را به کار بردهایم تا به راحتی امکان تعریف عدد اعشاری را برای ظرفیت آسانسور مورد نظر داشته باشیم و همانطور که میبینیم، از سبک نامگذاری camelCase استفاده کرده و همچنین نامی متناسب با دیتای منتسب به آن را انتخاب نمودهایم. بنابراین دستور فوق را به برنامۀ خود اضافه کرده و در ادامه استرینگ مبنی بر تعداد افراد سوارشده به آسانسور در کنسول نمایش میدهیم که برای این منظور کدی مانند زیر خواهیم داشت:
public class ElevatorCapacity {
public static void main(String[] args) {
double weightOfEachPerson = 75.5;
int numberOfPeople = 16;
double totalWeight = weightOfEachPerson * numberOfPeople;
double elevatorCapacity = 750;
System.out.println(numberOfPeople + " people get on!");
}
}
بنابراین متغیر numberOfPeople
را به عنوان آرگومان ورودی به متد ()println
دادهایم تا مقدار منتسب به آن را به همراه استرینگ «!people get on» در ابتدای اجرای برنامه و در کنسول چاپ کند.
همچنین توجه داشته باشیم که در دستور سطر هفتم از کد فوق، کیورد System
به یکی از کلاسهای از پیش تعریفشدۀ زبان جاوا اشاره دارد که امکان دسترسی به بخشهایی از سیستم را به برنامه میدهد که خارج از کنترل مستقیم JVM یا ماشین مجازی جاوا هستند و در ادامه کیورد out
نشاندهندۀ خروجی مرتبط با آیدیای مورد استفاده است بدین معنی که با استفاده از دستور System.out
به محیط کنسول در نرمافزار مورد استفادۀ خود (در این آموزش اکلیپس) دسترسی داشته و با فراخوانی متد ()println
دیتای مورد نظر را در کنسول چاپ مینماییم (جهت کسب اطلاعات بیشتر در رابطه با ماشین مجازی جاوا توصیه میکنیم به آموزش ماشین مجازی جاوا چیست؟ مراجعه نمایید.)
در این مرحله از آموزش میباید چک کنیم که آیا کل وزن افراد حاضر در آسانسور متناسب با ظرفیت مجاز آن میباشد یا خیر که در صورت تطابق با ظرفیت آسانسور مورد نظر، استرینگی مبنی بر قابلیت بسته شدن درب آن و در غیر این صورت عدم امکان بسته شدن درب را در کنسول چاپ کند که برای این منظور برنامۀ فوق را به صورت زیر تکمیل مینماییم:
public class ElevatorCapacity {
public static void main(String[] args) {
double weightOfEachPerson = 75.5;
int numberOfPeople = 16;
double totalWeight = weightOfEachPerson * numberOfPeople;
double elevatorCapacity = 750;
System.out.println(numberOfPeople + " people get on!");
if (totalWeight <= elevatorCapacity) {
System.out.println("The door can be closed!");
} else {
System.out.println("The number of people is more than the elevator capacity and the door can't be closed.");
}
}
}
همانطور که ملاحظه میشود، در برنامۀ فوق ابتدا استرینگ مربوط به نمایش تعداد افراد سوارشده بر آسانسور را در کنسول چاپ کرده و در ادامه دستور if
اجرا میشود که در آموزش آشنایی با دستور شرطی if در زبان برنامهنویسی جاوا به بررسی نحوۀ پیادهسازی دستورات شرطی پرداختهایم اما در این مثال به طور خلاصه میتوان گفت که با اجرای دستور سطر هشتم چک میکنیم ببینیم که اگر مقدار منتسب به متغیر totalWeight
یا مجموع وزن افراد حاضر در آسانسور کوچکتر یا مساوی با مقدار منتسب به متغیر elevatorCapacity
یا ظرفیت مجاز آسانسور باشد، شرط برقرار بوده و دستور داخل آن اجرا میشود بدین معنی که استرینگ «!The door can be closed» در کنسول چاپ میشود و در غیر این صورت نیز دستور داخل else
اجرا شده و استرینگ مربوطه در کنسول نمایش داده میشود. در نهایت، با اجرای برنامۀ فوق در خروجی خواهیم داشت:
16 people get on!
The number of people is more than the elevator capacity and the door can't be closed.
در این پروژه، تعداد افراد حاضر در آسانسور معادل 16 نفر، میانگین وزن افراد 75/5 و ظرفیت مجاز آسانسور را برابر با 750 در نظر گرفته بودیم که با توجه به دیتای مد نظر میبینیم که مجموع وزن افراد خارج از ظرفیت آسانسور بوده و استرینگی مبنی بر عدم توانایی بسته شدن درب آن چاپ شده است.
زبان برنامهنویسی جاوا امکانی را برای دولوپرها فراهم میکند تا بتوانند به صورت دینامیک (پویا) بخشی از دیتای مورد نیاز را از کاربر دریافت کنند که در چنین شرایطی مثلاً میتوان تعداد افراد را توسط کیبورد وارد کرده و بدین ترتیب پروژۀ فوق را به صورت کاربردیتر پیادهسازی نمود که در همین راستا، در آموزش آینده کلاسی تحت عنوان Scanner
را به منظور دریافت ورودی از کاربر معرفی خواهیم کرد.