در این آموزش قصد داریم تا به بررسی نحوۀ بهکارگیری اپراتورها در قالب یک پروژۀ عملی بپردازیم و در همین راستا سناریویی مد نظر قرار میدهیم که در آن قرار است تا عدد مربوط به وزن کنونی خود روی کرۀ زمین را وارد برنامه کرده سپس ببینیم که وزن معادلمان روی سیارات دیگری مانند مشتری و زحل چهقدر است.
برای این منظور، ابتدا بر اساس آنچه در آموزشهای پیشین آموختیم، یک پروژۀ جدید ایجاد کرده و کلاسی به نام Operator
در آن میسازیم که پس از باز کردن فایل، کدی مانند زیر خواهیم داشت:
public class Operator {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
همانطور که در آموزش نگاهی به کامنتگذاری در زبان برنامهنویسی جاوا توضیح داده شد، سه نوع کامنت در این زبان داریم که در کد بالا دو نوع از آنها را مشاهده میکنیم؛ به علاوه اینکه گفتیم کامنتها در روند اجرای برنامه بیتأثیر هستند و از همین روی کلیۀ کامنتها را حذف کرده و در نتیجه کدی به شکل زیر خواهیم داشت:
public class Operator {
public static void main(String[] args) {
}
}
همچنین لازم به یادآوری است که برای حذف یک سطر از کد میتوانیم نشانگر ماوس را روی سطر مورد نظر قرار داده سپس کلیدهای Ctrl + D را به صورت همزمان فشار دهیم (البته نیاز به توضیح است که بسته به تنظیمات نرمافزار، این کلیدها میتوانند از سیستمی به سیستم دیگر متفاوت باشند.)
به خاطر داشته باشید |
نکتهای که میباید جزو عادات خود به عنوان یک برنامهنویس حرفهای قرار دهیم، کامنتگذاری اصولی سورسکد است چرا که بدین ترتیب از سردرگمی خود و همچنین سایر دولوپرها در آینده جلوگیری مینماییم. همچنین توجه داشته باشیم که در صورت تمایل میتوانیم برخی کامنتها را در قالب جملات فارسی در سورسکدِ خود درج کنیم با این توضیح که در حین ذخیره کردن فایل جاوای مربوطه نیاز است تا گزینۀ Save as UTF-8 را انتخاب نماییم. |
حال شروع به نوشتن برنامۀ مورد نظر خود میکنیم به طوری که در ابتدا قصد داریم تا با اجرای برنامه، استرینگ «My weight on the Earth» در کنسول چاپ شود:
public class Operator {
public static void main(String[] args) {
// این بخش از کد مربوط وزن من روی کره زمین است
System.out.print("My weight on the Earth");
}
}
همانطور که میبینید، کامنتی در سطر مربوط به محاسبۀ وزن خود بر روی زمین درج میکنیم تا آن را از قسمتهای مربوط به محاسبۀ وزن روی سایر سیارات جدا سازیم.
چرا وزن اجسام بر روی سیارات مختلف متفاوت میباشد؟
پیش از ادامۀ بحث، میباید به سؤال فوق پاسخ دهیم. در واقع، نیروی گرانشی یا نیروی جاذبهای که از طرف سیارات مختلف بر اجسام وارد میشود متفاوت بوده و منجر بدین میشود تا اجسام از وزن متفاوتی برخوردار گردند.
در حقیقت، هر یک از اجسام دارای جرمی ثابت میباشد که روی سیارات مختلف تغییری نمیکند چرا که جرم جسم را مؤلفههای ثابتی همچون تعداد کل اتمها، تراکم اتمهای درون آن و همچنین نوع این اتمها تشکیل میدهند اما این در حالی است که اجسام مختلف بر اساس نیروی جاذبۀ متفاوتی که در هر یک از سیارات بر آنها وارد میشود، وزن متفاوتی به خود میگیرند؛ به عبارت بهتر، میتوان گفت که وزن هر شیئ بر روی سیارات مختلف از حاصلضرب جرم جسم در نیروی جاذبۀ سیارۀ مربوطه به دست میآید.
با توجه به آنچه در بالا بدان اشاره کردیم، بهتر است تا معادل «نیروی وزن» را به جای واژۀ «وزن» برای هر یک از اجسام به کار برد چرا که نیرویی متشکل از نیروی جاذبۀ سیارۀ مورد نظر در جرم جسم میباشد که واحد آن نیز نیوتون است اما این در حالی است که واحد کیلوگرم به اشتباه هم برای جرم و هم برای وزن (نیروی وزن) شیئ به کار برده میشود. با توجه به آنچه که اشاره کردیم، نیروی وزن یک شیئ بر روی زمین از حاصلضرب جرم جسم در نیروی گرانش زمین معادل عدد 9/8 به دست میآید.
در واقع، با در نظر داشتن نیروی وزن یک جسم روی زمین معادل عددی دلخواه همچون 85/5 میتوان نیروی وزن آن روی سایر سیارات را به دست آورد به طوری که کافی است تا عدد مربوطه را در نسبت نیروی گرانشی زمین به نیروی گرانشی سیارۀ مورد نظر ضرب کرد که در این آموزش ما قصد داریم تا نیروی وزن خود روی دو سیارۀ مشتری و زحل را محاسبه کنیم. در حقیقت، نیروی گرانش روی دو سیارۀ مشتری و زحل به ترتیب برابر با 24/79 و 10/44 میباشد بدین معنی که نیروی گرانش روی دو سیارۀ مشتری و زحل به ترتیب 2/52 و 1/06 برابرِ نیروی گرانش زمین است و از همین روی میتوان نیروی وزن خود روی سیارات مشتری و زحل را از حاصلضرب نیروی وزن خود روی زمین در اعداد مذکور به دست آورد.
اکنون با دانستن هر یک از مفاهیم جرم، نیروی وزن و نسبت نیروی جاذبۀ هر یک از سیارات مشتری و زحل نسبت به زمین، پروژۀ خود را در ادامه تکمیل مینماییم. ابتدا به ساکن نیاز است تا با استفاده از دیتا تایپ double
متغیری به منظور نگهداری مقدار نیروی وزن خود تعریف کنیم (نوع دادۀ عدد اعشاری را بدین دلیل انتخاب نمودهایم که در بیشتر مواقع نیروی وزن افراد رُند نبوده بلکه در قالب یک عدد اعشاری است و از همین روی نوع دادۀ عدد صحیح جهت نگهداری مقدار نیروی وزن مناسب نمیباشد.) برای این منظور، کدی مانند زیر خواهیم داشت:
public class Operator {
public static void main(String[] args) {
// این بخش از کد مربوط به نیروی وزن من روی کره زمین است
System.out.print("My weight on the Earth ");
double myWeightOnEarth = 85.5;
System.out.println(myWeightOnEarth);
}
}
در کد فوق، پس از دستور مربوط به چاپ استرینگ «My weight on the Earth» متغیری تحت عنوان myWeightOnEarth
با بهکارگیری نوع دادۀ double
تعریف کرده و عددی دلخواه مانند 85/5 را بدان منتسب کردهایم سپس مقدار منتسب به متغیر مذکور را به عنوان آرگومان ورودی به متد ()println
دادهایم تا مقدار منتسبشده به آن معادل نیروی وزن کاربر روی زمین را به همراه استرینگ «My weight on the Earth» در کنسول نمایش داده و به سطر بعد برود.
در واقع، نکتۀ قابلتوجه در رابطه با کد فوق این است که از متد ()print
برای چاپ استرینگ مذکور استفاده نمودهایم چرا که قصد داریم تا عدد مربوط به نیروی وزن کاربر به دنبال استرینگ مد نظر در کنسول چاپ شود و در ادامه نیز از متد ()println
را برای چاپ نیروی وزن کاربر به کار گرفتهایم چرا که میخواهیم نیروی وزن معادل کاربر روی سیارات مختلف به همراه استرینگ متناظرشان در سطرهای جداگانهای در معرض دیدمان قرار گیرند.
در این مرحله برنامۀ خود را به منظور محاسبۀ نیروی وزن معادل روی سایر سیارات تکمیل مینماییم و همانطور که پیشتر اشاره کردیم، برای محاسبۀ نیروی وزن روی هر یک از سیارات مشتری و زحل کافی است تا نیروی وزن خود روی زمین را به ترتیب در اعداد 2/52 و 1/06 ضرب نماییم که برای این منظور کد خود را به صورت زیر تکمیل میکنیم:
public class Operator {
public static void main(String[] args) {
// این بخش از کد مربوط به نیروی وزن من روی کره زمین است
System.out.print("My weight on the Earth ");
double myWeightOnEarth = 85.5;
System.out.println(myWeightOnEarth);
// این بخش از کد مربوط به نیروی وزن من روی سیاره مشتری است
System.out.print("My weight on the Jupiter ");
double myWeightOnJupiter = myWeightOnEarth * 2.52;
System.out.println(myWeightOnJupiter);
// این بخش از کد مربوط به نیروی وزن من روی سیاره زحل است
System.out.print("My weight on the Saturn ");
double myWeightOnSaturn = myWeightOnEarth * 1.06;
System.out.println(myWeightOnSaturn);
}
}
همانطور که ملاحظه میشود، در ادامه دستور مربوط به چاپ استرینگ «My weight on the Jupiter» را نوشته سپس با استفاده از دیتا تایپ double
متغیری به نام myWeightOnJupiter
تعریف کرده که در ادامه مقدار منتسب به متغیر myWeightOnEarth
برابر با نیروی وزن خود روی زمین را در نسبت نیروی جاذبۀ سیارۀ مشتری به زمین معادل عدد 2/52 ضرب کرده و مقدار حاصل را به متغیر myWeightOnJupiter
منتسب مینماییم سپس مقدار متغیر مذکور را به عنوان آرگومان وروی به متد ()println
میدهیم تا عدد مربوط به نیروی وزن کاربر روی سیارۀ مشتری را به همراه استرینگ «My weight on the Jupiter» در کنسول نمایش داده و به سطر بعد برود.
به همین ترتیب، با استفاده از دیتا تایپ double
متغیر دیگری تحت عنوان myWeightOnSaturn
تعریف کرده و مقدار منتسب به متغیر myWeightOnEarth
را در نسبت نیروی جاذبۀ سیارۀ زحل به زمین معادل با عدد 1/06 ضرب نموده و مقدار حاصل را در متغیر مذکور ذخیره میکنیم و در ادامه مشابه روش پیشین آن را در کنسول نمایش میدهیم که در نهایت خروجی حاصل از اجرای کد فوق به صورت زیر میباشد:
My weight on the Earth 85.5
My weight on the Jupiter 215.46
My weight on the Saturn 90.63000000000001
همچنین بدیهی است که بر اساس نیروی وزن متفاوتی که ممکن است به ازای افراد مختلف در برنامۀ فوق وارد کنیم، نتیجۀ متفاوتی نیز در خروجی دریافت خواهیم کرد.