آشنایی با متدهای مختلف کلاس Math در زبان برنامه نویسی جاوا

در ادامه مبحث متدهای کلاس Math، در این آموزش از پروژه ای که در آموزش‌های قبل ایجاد کردیم استفاده خواهیم کرد و متدهای max و min و pow و sqrt و round را مورد بررسی قرار خواهیم داد.

اولین متدی که می خواهیم مورد بررسی قرار دهیم، متد ()max است که مخفف واژه Maximum به معنی "حداکثر" می باشد. در واقع این متد برخلاف متدهای پیش دو پارامتر را در خود جای می دهد که با یک کاما از یکدیگر جدا می شوند. وظیفه این متد آن است که از بین این دو عدد، عددی که بزرگ تر است را گرفته و نمایش دهد. برای روشن شدن این مسئله کد فوق را به شکل زیر تغییر می دهیم:

public class MathClass {
    public static void main(String[] args) {
        System.out.println(Math.max(12, 22));
    }
}

همان طور که ملاحظه می شود، در کد فوق پس از استفاده از متد ()max، دو پارامتر 12 و 22 را داخل این متد قرار داده ایم که با استفاده از یک کاما از یکدیگر جدا شده اند. حال انتظار می رود پس از اجرای برنامه خود، عدد بزرگ تر -22- در پنجره ی کنسول نمایش داده شود:

همان طور که انتظار می رفت عدد 22 نمایش داده شد. حال ببینیم اگر یک عدد اعشاری داشته باشیم و یک عدد صحیح چه اتفاقی خواهد افتاد. برای این منظور کد فوق را به صورت زیر بازنویسی می کنیم:

public class MathClass {
    public static void main(String[] args) {
        System.out.println(Math.max(12.1, 22));
    }
}

برای روشن شده مسئله برنامه را یک بار اجرا می کنیم:

باز هم عدد بزرگ تر نمایش داده شده اما چیز عجیبی که در مورد خروجی برنامه وجود دارد این است که عدد 22 که یک عدد صحیح بود به یک عدد اعشاری تبدیل شده است و مقدار 22.0 در پنجره ی کنسول نمایش داده شده است. در پاسخ به این مسئله که چرا چنین اتفاقی روی داد، بایستی گفت که پارامترهای ورودی این متد می توانند هم از جنس متغیر int باشد و هم از جنس متغیر double ولی از آنجا که یکی از متغیرها در مثال فوق از جنس عدد صحیح بود و عدد دیگر از جنس عدد اعشاری، مقدار بزرگت تر -22- ابتدا به یک عدد اعشاری با همان مقدار قبلی تبدیل می شود سپس نمایش داده می شود.

متدی که در مقابل متد ()max قرار دارد، متد ()min است که مخفف واژه Minimum به معنی "حداقل" است. وظیفه ای که این متد بر عهده دارد این است که از میان دو پارامتر ورودی، پارامتر کوچک تر را برگزیند. برای روشن شدن این مسئله، کد فوق را به شکل زیر بازنویسی می کنیم:

public class MathClass {
    public static void main(String[] args) {
        System.out.println(Math.min(12.1, 22));
    }
}

پس از اجرای کد فوق، می بایست عدد کوچکتر که در این مثال عدد 12.1 است در پنجره ی کنسول نمایش داده شود:

پس از اجرای برنامه خواهیم دید که عدد 12.1 نمایش داده می شود. در ادامه ی مبحث متدهای کلاس Math به متدی تحت عنوان ()pow می رسیم. یکی از معانی واژه Power در زبان فارسی "توان" است. به طور مثال اگر بخواهیم بگوییم دو به توان سه بایستی در زبان انگلیسی گفت Two to the power of three. اکنون با دانستن این نکته می توانیم کاربرد متد ()pow را حدس بزنیم. در حقیقت این متد می تواند دو پارامتر را در خود جای دهد به طوری که پارامتر اول عددی است که می خواهیم به توان برسانیم و پارامتر دوم توان است (لازم به ذکر است که این دو پارامتر از یکدیگر بوسیله یک کاما جدا می شوند.) با دانستن این نکته می توانیم کد فوق را به صورت زیر بازنویسی نماییم تا خروجی متدی که مسئول به توان رساندن در زبان برنامه نویسی جاوا است را مشاهده کنیم:

public class MathClass {
    public static void main(String[] args) {
        System.out.println(Math.pow(2, 3));
    }
}

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

همانطور که مشاهده می شود نتیجه 8.0 نمایش داده شده است (به عبارت دیگر، حاصل ضرب 2 در 2 می شود 4 و حاصل ضرب 4 در 2 می شود 8) 

متد دیگری که از کلاس Math می توان مورد استفاده قرار داد متدی است که جذر اعداد را به دست می آورد. واژه ی Square دارای معانی متعدی همچون "مربع، میدان" و غیره در زبان فارسی است اما در ریاضیات این واژه به معنی "مجذور" است. در زبان برنامه نویسی جاوا متدی که مجذور اعداد را به دست می آورد از مخفف این واژه و واژه ی Root به معنی "ریشه" بوده و به صورت sqrt نوشته می شود. به عبارت دیگر عبارت Square Root به معنی "جذر" در ریاضیات می باشد. اکنون پس از آشنایی با این متد می توانیم کد خود را به شکل زیر بازنویسی کنیم:

public class MathClass {
    public static void main(String[] args) {
        System.out.println(Math.sqrt(9));
    }
}

در کد فوق نام متد sqrt نوشته شده و سپس داخل پرانتز مرتبط با آن عدد 9 را نوشته ایم. در حقیقت علت انتخاب عدد 9 در این مثال این است که این عدد دارای یک مجذور رند می باشد. اکنون پس از اجرای برنامه خواهیم دید که جذر عدد 9 که معادل با 3 می باشد نمایش داده خواهد شد:

متد دیگر که در برنامه نویسی جاوا و اندروید بسیار کاربردی است، متد ()round است. به طور خلاصه، هر عددی که داخل پرانتز این متد قرار گیرد به عددی رند تبدیل خواهد شد اما نکته ای که در اینجا می بایست مد نظر قرار داده شود این است که اگر عددی همچون 21.3 وارد این متد شود، این عدد رو به پایین رند خواهد شد و عدد 21 به دست خواهد آمد. به طور کلی اگر خرده اعشاری این عدد کوچکتر از 5 باشد این عدد رو به پایین رند خواهد شد و اگر خرده اعشاری این عدد برابر با 5 و یا بزرگتر باشد(مثلا عدد 21.6 ) این عدد رو به بالا رند خواهد شد و عدد 22 به دست خواهد آمد. برای روشن شدن مطلب کد خود را به شکل زیر بازنویسی می کنیم:

public class MathClass {
    public static void main(String[] args) {
        System.out.println(Math.round(12.3));
    }
}

همان طور که ملاحظه می شود عدد 12.3 برای این متد در نظر گرفته شده است و بر اساس توضیحات پیشین انتظار می رود که خروجی برنامه عدد 12 باشد. برای حصول اطمینان از این خروجی برنامه را یک بار اجرا می کنیم:

می بینیم که این عدد اعشاری رو به پایین رند شده و خروجی برنامه معادل با عدد 12 است. حال اگر عدد داخل این متد را به عدد 12.6 تغییر دهیم از آنجا که خرده اعشاری این عدد بزرگتر از 5 است، از این رو این عدد رو به بالا رند خواهد شد و خروجی برنامه عدد 13 را نشان خواهد داد. حال مجدد برنامه را به اعمال این تغییر اجرا می کنیم:

 


0
  • وهاب در تاریخ: 1394/09/21

    سلام و تشکر از آموزش هاتون
    امکان داره بقیه متدهای موجود در کلاس math رو هم تو یه بخش دیگه به صورت مختصر بهشون اشاره بکنید

  • ApA در تاریخ: 1394/10/18

    باسلام و تشکر از آموزش عالیتان
    لطفا بقیه متدهای موجود در کلاس math را هم اگر مقدور می باشد آموزش بدید.
    باتشکر فراوان

  • ali arya در تاریخ: 1394/10/26

    سلام
    کار متد powچیه؟

    Sina Deuxshiri در تاریخ: 1394/10/26

    سلام
    برای به توان رساندن یک عدد از این متد استفاده میشه.
    بهتره که سرچ کردن و یاد بگیرید. با یه سرچ ساده می تونید متوجه کاره متد بشید.

  • sepehr در تاریخ: 1394/11/28

    چگونه اعداد را تا سه رقم اعشار گرد کنیم

  • این نظر رو نچاپ! در تاریخ: 1395/05/15

    در زبان برنامه نویسی جاوا متدی که "مجذور" اعداد را به دست می آورد از مخفف این واژه و واژه ی Root به معنی "ریشه" بوده و به صورت sqrt نوشته می شود."خط اول به جای مجذور باید جذر باشه!"

  • hadi در تاریخ: 1395/05/20

    سلام..آموزشی در مرود bigDecimal در جاوا به زبان فارسی میخواستم. خواستم ببینم که سایت شما داره یا نه؟ هر چقدر جستجو میکنم نیست که نیست.

  • zahra.tz در تاریخ: 1395/08/14

    سلام و خسته نباشید.
    زمانی ک یک برنامه جاوا اقدام ب تقسیم یک عدد صحیح ب عدد دیگر میکنه چ اتفاقی می افتد؟
    بخش اعشاریش چی میشه؟چ جوری بخش اعشار رو نگه میدارن؟ممنون میشم اگه کمکم کنیین.مرسی

از طریق این فرم، می توانید بدون ثبت نام نظر دهید و یا اگر قبلا ثبت نام کرده اید، با ورود ناحیه ی کاربری می توانید علاوه بر ثبت نظر، به مدیریت نظرات خود نیز بپردازید.
(فیلد اجباری)
(فیلد اجباری)
(فیلد اجباری)
(فیلد اجباری)