استفاده عملی از اپراتورها در قالب پروژه ی محاسبه ی وزن خود روی سایر سیارات


سناریویی که در این آموزش قرار است بر آن اساس یک برنامه بنویسیم به این شکل است که می خواهیم وزن کنونی خود را که روی کره زمین قرار داریم را وارد برنامه کرده سپس ببینیم که وزن ما روی سیارات دیگری مثل مشتری و زحل چه قدر است (به خاطر داشته باشیم که در زبان انگلیسی معادل مشتری Jupiter و معادل زحل Saturn می باشد.) بر اساس روشی که پیش از این توضیح داده شد، یک پروژه جدید جاوا ایجاد کرده و یک کلاس با نام 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 را هم زمان با دکمه E فشار دهیم (البته ممکن است که بسته به تنظیمات پیش فرض نسخه ای از اکلیپس که نصب نموده اید، برای این کار مجبور شوید از ترکیب کلیدهای دیگری استفاده نمایید.)

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

اگر علاقمندان به برنامه نویسی با زبان انگلیسی آشنایی نداشته باشند، می توانند هم کامنت های خود را به صورت فینگلیش بنویسند و هم به صورت فارسی بنویسند. فقط بایستی به خاطر داشته باشیم که اگر کامنت های خود را به صورت فارسی بنویسیم، حتماً می بایست در حین Save کردن فایل جاوای خود گزینه Save as UTF-8 را انتخاب نماییم. پس از نوشتن کامنت در مورد اولین خط از کد، می خواهیم اولین جمله را در بخش کنسول نمایش دهیم. به همین منظور طبق کد زیر عمل می کنیم:

public class Operator {
    public static void main(String[] args) {
        // این بخش از کد مربوط وزن من روی کره زمین است
        System.out.print("My weight on the Earth");
    }
}

از آنجا که خیلی از دوستان ممکن است دوست داشته باشند که از وزن خود در سیارات دیگر مطلع شوند، توصیه می کنیم که مقدار متغیر وزن روی کره زمین را وزن دقیق خودشان وارد نمایند. برای همین منظور یک متغیر از جنس double ایجاد می کنیم. علت این که متغیری از جنس int ایجاد نکردیم این است که ممکن است وزن برخی از ما دارای اعشار باشد که در این صورت حتماً نیاز داریم تا متغیری از جنس اعشاری را در نظر بگیریم. حال کد ما به صورت زیر خواهد بود:

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 به معنی وزن من روی کره زمین را در کنسول به نمایش در آورد. متد ()print این وظیفه را دارا است که چیزی را روی صفحه نمایش نشان دهد (چیزی که در مورد این متد حائز اهمیت است این است که پس از نمایش دادن متن داخلش، برنامه به خط بعد نرفته و هر آنچه که بخواهد در پنجره کنسول به نمایش در آید در ادامه آن خط قرار خواهد گرفت.) در خط بعد ما اقدام به تعریف یک متغیر از جنس double کرده ایم که این قابلیت را دارا است که اعداد اعشاری را در خود ذخیره سازد.

پس از در نظر گرفتن نامی برای متغیر خود پس از علامت = عددی را به عنوان مقدار آن در نظر گرفته و علامت ; را در انتهای این دستور قرار می دهیم (به طور مثال، در اینجا وزن خود را 85.5 در نظر گرفته ایم.) در خط بعد مجدداً دستور System.out را نوشته اما این بار به جای متد ()print از متد ()println استفاده می کنیم و در نهایت یک علامت ; می گذاریم و نام متغیر خود را داخل آن می نویسیم تا از این طریق در بخش کنسول به نمایش در آید (در واقع فرق مابین کلمه print با کلمه println در این است که متد print متن ما را روی صفحه چاپ می کند اما خط را به اتمام نمی رساند و خروجی مابقی دستورات ما در بخش های بعدی را پس از خروجی های قبلی قرار می دهد اما این در حالی است که متد println همانند Enter در نرم افزار Word عمل می کند که جمله را نوشته و به خط بعدی می رود.)

علت این که ما در مورد اول از متد print استفاده کردیم این بود که می خواستیم مقدار عددی متغیر myWeightOnEarth بلافاصله پس از جمله My weight on the earth قرار گیرد. علت این هم که یک فاصله بعد از کلمه Earth قرار دادیم این بود که عدد 85.5 به واژه Earth نچسبد. حال چنانچه ما فرمان اجرا را از طریق منوی اصلی گزینه Run و مجدداً زیرشاخه Run یا کلید Fn + F5 صادر کنیم، در بخش کنسول نرم افزار اکلیپس جمله My weight on the earth 85.5 به نمایش در خواهد آورد.

در این بخش از برنامه نویسی می خواهیم وزن خود را در سیارات مشتری و زحل محاسبه نماییم. با یک سرچ ساده در اینترنت، میزان جاذبه دو سیاره دیگر را نسبت به کره زمین پیدا کرده که عبارتند از مشتری معادل با 2.54 و زحل معادل با 1.08 (لازم به ذکر است که این نوع محاسبه و اعداد ممکن است تا حدودی با واقعیت تفاوت داشته باشند. نکته ای که در این تمرین مد نظر ما است به کار گیری اپراتورها یا اعمال اصلی ریاضیاتی در زبان برنامه نویسی جاوا می باشد.) حال به صورت زیر کد های مرتبط با دو سیاره دیگر را می نویسیم:

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.54;
        System.out.println(myWeightOnJupiter);
        // این بخش از کد مربوط به وزن من روی سیاره زحل است
        System.out.print("My weight on the Saturn ");
        double myWeightOnSaturn = myWeightOnEarth * 1.08;
        System.out.println(myWeightOnSaturn);
    }
}

در بخش بعدی از کد خود یک کامنت قرار می دهیم تا متوجه شویم که کد مربوط به وزن ما روی سیاره مشتری در کجای برنامه قرار گرفته است. سپس همچون مراحل قبل عمل کرده اما این بار جمله My weight on the Jupiter به معنی وزن من روی سیاره مشتری را داخل علامت های " " می نویسیم.

همان طور که در کد فوق مشاهده می شود ما مقدار متغیر myWeightOnEarth را قبلاً ذخیره کرده ایم. حال می خواهیم مقدار متغیر مرتبط با مشتری را ایجاد کنیم برای این منظور متغیر ی از جنس double به نام myWeightOnJupiter ایجاد کرده و مقدار اولیه آن را نام متغیر myWeightOnEarth ضرب در عدد 2.54 می کنیم (در واقع نام این متغیر حاکی از عدد 85.5 است). اکنون وزن ما روی سیاره مشتری به دست آمده است و با قرار دادن نام متغیر مرتبط با مشتری در دستور ;()System.out.println می توانیم وزن خود را در کنسول نمایش دهیم. به همین روشن متغیری برای سیاره زحل ایجاد کرده به این شکل که همان طور که در کد فوق مشاهده می شود متغیری از جنس double به نام myWeightOnSaturn ایجاد کرده و مقدار اولیه آن را نام متغیر مرتبط با وزن ما روی کره زمین ضرب در عدد 1.08 قرار می دهیم و با قرار دادن نام متغیر مرتبط با زحل در دستور ;()System.out.println مقدار آن را در پنجره ی کنسول نمایش می دهیم.

پس از اجرای موفقیت آمیز برنامه، در بخش کنسول نتیجه زیر مشاهده خواهد شد(لازم به ذکر است چنانچه وزن شما 85.5 باشد، نتایج زیر را مشاهده خواهید کرد و در صورتی که وزن شما چیزی دیگری مثلاً 76 کیلو باشد، نتایج کاملاً متفاوت خواهند بود):

در آموزش آینده، به بررسی نحوه نام گذاری صحیح متغیرها خواهیم پرداخت.

لیست نظرات
کاربر میهمان
دیدگاه شما چیست؟
کاربر میهمان
jahani_zhr
jahani_zhr
سلام. من تازه برنامه نویسی رو شروع کردم که با سایت شما یاد بگیرم. این کد اولین تمرینی بود که خودم انجام دادم. تا اینجا آموزشهاتون عالی بود. ممنون ازتون.
امیدوارم منم بتونم در زبان برنامه نویسی جاوا حرفه ای بشم .
مرسی از زحماتتون.
h.jafari.j
h.jafari.j
سلام و درود به مدرس ارجمند برنامه جاوا
تا اینجا درسهای جاوا رو خوندم ، توضیحات و متن درسها اینقدر روون و کامل بود که هم یاد گرفتم هم جای هیچ سوال و ابهامی برام نمونده بود.
فقط یه سوال در مورد کدنویسی این جلسه داشتم .
من این پروژه رو با چند خط کوتاهتر نوشتم( هر محاسبه و نمایش در یک خط ) و به ظاهر همین جواب رو گرفتم . میخواستم بپرسم آیا این خلاصه کد نویسی مشکلی نداره؟
تا کجا میتونیم یا اجازه داریم توی برنامه کوتاه نویسی کنیم ؟
public class first {
public static void main(String[] args) {
double myWeightOnEarth = 85.5;
System.out.println("My weight on the Earth is "+ myWeightOnEarth );
System.out.println("My weight on the Jupiter is "+ myWeightOnEarth * 2.54 );
System.out.println("My weight on the Saturn is "+ myWeightOnEarth * 1.08);
}
}
کاربر میهمان
علیرضامن یک کاربر مهمان هستم
با درود و خدا قوت فکر میکنم اشتباه جزئی که در این برنامه صورت گرفته این است که بعد از نمایش وزن روی زمین می بایست عدد تقسیم بر 9.8 (جاذبه زمین ) شود . و سپس خروجی ان برای محاسبه وزن روی سیارات دیگر ارسال گردد. البته این هیچ چیز از کیفیت اموزش های شما کم نمی کند ولی اگر کسی برای محاسبه دقیق خواست استفاده کنه اضافه کردن این خط کد به کارکرد صحیح برنامه کمک میکند. در نهایت با تشکر از کیفیت بسیار بالای مطالب در تمامی بخش ها
کاربر میهمان
red fireمن یک کاربر مهمان هستم
لطفا جواب من رو بدین
با تشکر
red fire
red fire
سلام و درود به اساتید محترم و با تشکر از توضیحات عالیتان

من یک مبتدی هستم و چند سوال اساسی دارم و امید وارم که اساتید گرامی پاسخ مرا بدهد :

1.ایا جاوا برای ساخت app است؟؟؟اگر اری برای چه نوع سیستم عاملی ؟؟؟
2.اگر برای ساخت app است چه نوع از ان را میتوان ساخت ؟؟؟ ایا برنامه هایی مثل برنامه اندروید "بازار" و یا برنامه های پخش mp3 mp4 را میتوان ساخت؟؟؟
3.چگونه میتوان کد را به برنامه تبدیل کرد؟؟؟
4.برای ظاهر بخشیدن به برنامه مثل اضافه کردن background و style باید چه کرد ؟؟؟

منتظر جواب شما بزرگواران هستم
با تشکر
کاربر میهمان
معینمن یک کاربر مهمان هستم
داخل متد اصلی یک متد جدید ایجاد کرده ام اما ارور زیررا میدهد
illegal start of expression .. علت چی هست؟

علت چی هست
کاربر میهمان
امیرمن یک کاربر مهمان هستم
درجه یک :)
hamid7394
hamid7394
سلام.بسیار عالی نوشتین.
فقط نمیدونم چرا خط ها ی دوم وسوم پشت سر هم قرار میگیرن با اینکه مثل شما نوشتم.
M.reza Nasiri
M.reza Nasiri
بسیار بسیار عالــــــی
hamid_r_9750
hamid_r_9750
خیلی عالی بود.قبل از اینکه آموزش رو بخونم خودم سعی کردم بنویسمش.و راحت نوشتمش.این نشون میده چقد آموزشتون قویه.