menusearch
javapro.ir

♨️ جلسه سیزدهم - کلاس Math

جستجو
پنج شنبه ۱ آذر ۱۴۰۳ | ۱۳:۵۲:۵۰
۱۳۹۵/۸/۱ شنبه
(5)
(1)
♨️ جلسه سیزدهم - کلاس Math
♨️ جلسه سیزدهم - کلاس Math

فهرست جلسات دوره مقدماتی جاوا

مقدمه اول | جاوا چیست؟

مقدمه دوم | تاریخچه جاوا

مقدمه سوم | ویژگی‌های زبان جاوا

جلسه اول | راهنمای دانلود و نصب JDK

جلسه دوم | اجرای یک برنامه جاوا در Notepad

جلسه سوم | راهنمای دانلود و نصب Eclipse

جلسه چهارم | ساخت اولین برنامه جاوا در Eclipse

جلسه پنجم | متغیر ها در جاوا

جلسه ششم | تغییر فونت محیط Eclipse

جلسه هفتم | عملگر‌های پایه ای جاوا

جلسه هشتم | دستورات شرطی

جلسه نهم | اشیا و کلاس ها

جلسه دهم | ورودی گرفتن

جلسه یازدهم | حلقه‌های کنترلی

جلسه دوازدهم | کلمه کلیدی static

جلسه سیزدهم | کلاس Math

جلسه چهاردهم | کلاس String

جلسه پانزدهم | آرایه‌های یک بعدی

جلسه شانزدهم | کنترل سطح دسرسی (Modifiers)

جلسه هفدهم | متدها در جاوا

جلسه هجدهم | کلمه کلیدی this

جلسه نوزدهم | کلاس‌های داخلی

جلسه بیستم | ارث بری در جاوا

جلسه بیست و یکم | کلمه کلیدی final

جلسه بیست و دوم | Overriding در جاوا

جلسه بیست و سوم | Polymorphism( چند ریختی)

جلسه بیست و چهارم | چندریختی را بهتر یادبگیرید

جلسه بیست و پنجم | Abstraction( انتزاع)

جلسه بیست و ششم | Encapsulation(کپسوله سازی)

جلسه بیست و هفتم | اینترفیس (Interface)

جلسه بیست و هشتم | کلاس Random

جلسه بیست و نهم | Exceptions (استثناها)

جلسه سی ام | کار با فایل در جاوا(Files and I/O)

جلسه سی و یکم | کلاس InputStreamReader

جلسه سی و دوم | کلاس OutputStreamWriter

جلسه سی و سوم | کلاس BufferedReader

جلسه سی و چهارم | کلاس BufferedWriter

جلسه سی و پنجم | Serialization در جاوا

جلسه سی و ششم | چندنخی(Multithreading)

جلسه سی و هفتم | آرایه دو بعدی در جاوا

جلسه سی و هشتم | کلاس ArrayList در جاوا

جلسه سی و نهم | Non Access Modifier در جاوا

 

دوره رایگان مقدماتی زبان جاوا

 

جلسه سیزدهم - کلاس Math


در جلسات قبل با کتابخانه ها، پکیج ها و کلاس های آماده جاوا و چگونگی استفاده از‌ آنها آشنا شدیم.


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


در این جلسه قصد داریم یکی دیگر از این کلاس های آماده را بررسی کنیم.


ما گاهی در برنامه نویسی نیاز عملیات محاسبات ریاضی نظیر توان، قدر مطلق، عملیات مثلثاتی نظیر سینوس, کسینوس، لگاریتم و..... داریم.خب باید چکار کنیم؟!!!! یعنی خودمون هر عملیات ریاضی را که خواستیم باید دستی کدشون رو بزنیم؟؟؟؟؟؟؟!!!!!!!!


پاسخ: جاوا زحمت این عملیات ریاضی را کشیده و بصورت آماده در کلاسی به نام Math برامون فراهم کرده است.


     کلاس Math درون پکیج java.lang قرار دارد که شامل متدهایی است که عملیات عددی نظیر لگاریتم و توان و.... انجام می‌دهند.


     برای استفاده از متدهای کلاس Math کافیست پکیج آن را درون سورس کد، بالای کلاس خودمون به اصلاح import کنیم:

 

import java.lang.Math;

 

💡 متدهای درون کلاس Math همگی استاتیک هستند.

 

     همان طور که میدونید برای استفاده از ویژگی و رفتار های یک کلاس باید از ان شی ساخت، در یک صورت نیاز به شی ساختن نیست و مستقیم می‌توانیم به متغیرها و متدهای کلاس دسرسی پیدا کنیم و آن این هست که متغیر ها و رفتار های کلاس استاتیک باشند.


     پس از آنجایی که کلاس Math استاتیک هست دیگر برای صدا زدن متدهای آن نیاز به شی ساختن از آن نیست .

مثال:در این مثال چون متدهای کلاس Math استاتیک هستند بدون شی ساختن از آن و تنها با بکار بردن مستقیم نام کلاس با حروف بزرگ و نقطه (.) و اسم متد مورد نظر می‌توان متد های آن را صدا زد.


✔ در این مثال متد pow دو پارامتر ورودی می‌گیرد، مقدار اول به توان مقدار دوم برده می‌شود .یعنی 2 به توان 4 که جواب 16 می‌شود.

 

Math.pow(2, 4)

 

مثال: در این مثال مقدار عدد 2 به توان 4 در خروجی چاپ می‌شود:

 

package tutorial;
import java.lang.Math;

public class Power {

   public static void main(String[] args) {
       
       System.out. print ln(Math.pow(2, 4));

   }

}
 
خروجی:
 
16.0
 

✔    دلیل ممیز صفر کنار 16 این هست که متدهای درون کلاس Math از نوع اعشاری( double ) هستند.

 

✔    اگه دوست ندارید که عدد 16 بصورت 16.0 نمایش داده شود یعنی تمایل دارید که بصورت صحیح نمایش داده شود کافیست عدد اعشار را به عدد صحیح تبدیل کنید!!!! به این کار یعنی تبدیل یک نوع به نوع دیگر را به اصلاح عمل cast کردن میگویند!!! اصلا نگران نباشید زیادم سخت نگیرید یک جلسه مفصل در مورد تبدیل نوع ها و عمل cast صحبت خواهیم کرد اینجا هم یک مقدمه چینی بود کلا فراموشش کنید :-)


✔    بخاطر این که سردرگم نشیم مبحث cast کردن رو میبندیم میریم سراغ ادامه موضوع کلاس Math


     در زیر متدهای پر کاربرد عملیات ریاضی درون کلاس Math جمع آوری شده است:


متدهای کلاس Math همراه با توصیف:

 

static double abs(double a)

 

✔ این متد قدر مطلق یک عدد را محاسبه و برمیگرداند.

 


✔ همان طور که مشاهده میکنید این متد از نوع اعشاری double است و برخلاف متد های از نوع void یک مقدار را برمی گرداند نگران نباشید یک جلسه کاملا در مورد متدها بحث خواهیم کرد.


✔ یک پارامتر یا متغیر محلی به عنوان ورودی میگیرد اگر پارامتر مثبت بود مقدار مثبت بر می‌گرداند اگر منفی بود مقدار مثبت بر می‌گرداند اگر صفر یا صفر منفی بود صفر مثبت بر می‌گرداند اگر بی نهایت منفی بود بی نهایت مثبت بر میگرداند.


مثال:

 

package tutorial;
import java.lang.Math;

public class MathDemo {

  public static void main(String[] args) {

  // get some doubles to find their absolute values
  double x = 4876.1874d;
  double y = -0.0d;
  int z=-15;
  // get and print their absolute values
  System.out.println("Math.abs(" + x + ")=" + Math.abs(x));
  System.out.println("Math.abs(" + y + ")=" + Math.abs(y));
  System.out.println("Math.abs(-9999.555d)=" + Math.abs(-9999.555d));
  System.out.println("Math.abs(" + z + ")=" + Math.abs(z));
  }
}


خروجی:

 

 

Math.abs(4876.1874)=4876.1874
Math.abs(-0.0)=0.0
Math.abs(-9999.555d)=9999.555
Math.abs(-15)=15


✔ پارامتر ورودی متد abs اعشاری هست اما ما بهش عدد صحیح هم دادیم جواب داد!! دلیلش این هست که متد abs در کلاس Math از نوع های متفاوتی نظیر int,double,float,long است!!!!

 
static float abs(float a)
static int abs(int a)
static long abs(long a)

 

این رو بدون که با متد abs علاوه بر اعداد اعشاری میشه قدر مطلق اعداد صحیح را هم به دست آورد دیگه نیاز به فلسفه بافی نیست 😊😊

 

static double acos(double a)

 

✔ این متد arc cosine (کسینوس معکوس) یک عدد را برمیگرداند.


💡 نکته:برای به دست اوردن عدد پی (π) در جاوا از دستور زیر استفاده میکنیم:

 

Math.PI


مثال:

 

package tutorial;
import java.lang.*;

public class MathDemo {

  public static void main(String[] args) {

  // get a variable x which is equal to PI/2
  double x = Math.PI / 2;

  // convert x to radians
  x = Math.toRadians(x);

  // get the arc cosine of x
  System.out.println("Math.acos(" + x + ")=" + Math.acos(x));
  }
}


خروجی:

 

Math.acos(0.027415567780803774)=1.5433773235341761

 

توضیحات:

 

double x = Math.PI / 2;

 

✔ عدد π بر 2 تقسیم شده است.چون جواب یک عدد اعشاری هست پس x از نوع اعشاری تعریف میکنیم.

 

x = Math.toRadians(x);


✔ در محاسبات مثلثاتی اعداد باید بر حسب رادیان باشند و با استفاده از این متد عددمون را به رادیان تبدیل کردیم.

 

System.out.println("Math.acos(" + x + ")=" + Math.acos(x));


✔ در پایان مقدار کسینوس معکوس عدد x را به دست آوردیم.

 

static double asin(double a)

 

✔ سینوس معکوس یک عدد که بصورت رادیان است بر میگرداند.


✔ محدوده زاویه ای که برمیگرداند بین π/2 تا π/2 – است.


مثال:

 

package tutorial;

import java.lang.*;

public class MathDemo {
   public static void main(String[] args) {

       // get a variable x which is equal to PI/2
       double x = Math.PI / 2;

       // convert x to radians
       x = Math.toRadians(x);

       // get the arc sine of x
       System.out.println("Math.asin(" + x + ")=" + Math.asin(x));
   }
}

 

خروجی:

 

Math.asin(0.027415567780803774)=0.02741900326072046

 

توضیحات:

 

static double atan(double a)


✔ تانژانت معکوس یک عدد که بصورت رادیان است بر میگرداند.


✔ محدوده زاویه ای که برمیگرداند بین π/2 تا π/2 – است.


مثال:

 

package tutorial;

import java.lang.*;

public class MathDemo {

  public static void main(String[] args) {

  // get a variable x which is equal to PI/2
  double x = Math.PI / 2;

  // convert x to radians
  x = Math.toRadians(x);

  // get the arc tangent of x
  System.out.println("Math.atan(" + x + ")" + Math.atan(x));
  }
}


خروجی:

 

Math.atan(0.027415567780803774)0.0274087022410345


توضیحات:

 

static double cbrt(double a)

 

✔ ریشه مکعب (توان 3) عدد را بر می‌گرداند. مثلا ریشه توان 3 عدد 125 برابر با 5 یا ریشه مکعب عدد 27 برابر 3 است.


💡 نکته:cbrt(-x) == -cbrt(x)


💠 همان طور که می‌دانید توان 3 عدد منفی را مثبت نمی‌کند پس ریشه توان 3 عدد 125- می‌شود 5-

 

 

*ادامه این جلسه آموزشی را به صورت پی دی اف و مرتب شده در زیر دانلود کنید:

 


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

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

 

 


نشر این مطلب با ذکر منبع (لینک سایت) بلامانع است.
برای با خبر شدن از جدیدترین مطالب آموزشی جاوا عضو کانال تلگرام ما شوید.

instagram
نظرات کاربران
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

بستن
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

2 نظر
Sharareh Khan Mirza
جمعه یکم تیر ۰۳
پاسخ
()
()
Sharareh Khan Mirza
Kheili khoob tozih dadid. Jaame va kaamel
یعقوب عبداللهی
سه شنبه سوم آبان ۰۱
پاسخ
(6)
()
یعقوب عبداللهی
درود. ضمن تشکر از زحماتي که براي تهيه مطالب و آموزش هاي مفيدتون کشيديد. يه نکته در مورد کلاس Math اينه که نيازي به import کردن نداره چون داخل پکيج java.lang قرار داره و اين پکيج به صورت پيش فرض داخل تمام برنامه هاي جاوا import ميشه
هدر سایت
بلک فرایدی آکادمی جاواپرو،50% تخفیف روی تمامی دوره های جاوا تا 10 آذر 1403
مشاهده سرفصل ها و ثبت نام در دوره Spring Boot جاواپرو  [کلیک کنید]
آموزش پروژه محور اسپرینگ بوت(Spring Boot)-سیستم دانشگاه
ثبت نام در دوره آموزش Spring security
دوره معماری میکروسرویس ها (Microservices) با استفاده از Spring Boot و Spring Cloud
دوره پرتاب | آموزش پیش نیازهای برنامه نویسی
دوره آموزش مبانی زبان برنامه نویسی جاوا
دوره آموزش مفاهیم پیشرفته زبان برنامه نویسی جاوا
مقدمه ای از زبان برنامه نویسی جاوا(java)
آموزش زبان برنامه نویسی جاوا
آموزش گرافیک در زبان برنامه نویسی جاوا
آموزش مدیریت چیدمان گرافیکی در زبان جاوا
آموزش ساخت بازی دوبعدی در زبان جاوا
Collection ها در زبان برنامه نویسی جاوا
آموزش پروژه محور ساخت برنامه مدیریت بانک با JavaFX
نمونه پروژه های رایگان زبان جاوا
آموزش دیتابیس در زبان برنامه نویسی جاوا
نمونه مثال پایه ای زبان برنامه نویسی جاوا
نمونه مثال String در زبان برنامه نویسی جاوا
آموزش جامع برنامه نویسی JavaFX
آموزش ساخت برنامه آزمون تستی در JavaFX
آموزش برنامه نویسی سوکت در جاوا
آموزش ساخت برنامه دفترچه تلفن با JavaFX
آموزش ساخت ربات ساده تلگرام با زبان جاوا
آموزش ساخت برنامه ماشین حساب با JavaFX
آموزش ساخت برنامه ساده مدیریت ایمیل ها با JavaFX
دوره آموزش Spring Boot
سفارش انجام پروژه زبان برنامه نویسی جاوا(JAVA)
سفارش انجام پروژه برنامه نویسی متلب(MATLAB) با قیمت منصفانه و تحویل به موقع
سفارش انجام پروژه زبان برنامه نویسی سی شارپ (#C)
سفارش انجام پروژه زبان برنامه نویسی سی(C)
سفارش انجام پروژه زبان برنامه نویسی پایتون(Python)
سفارش انجام پروژه زبان برنامه نویسی PHP (پی اچ پی)
سفارش انجام پروژه زبان برنامه نویسی اسمبلی(Assembly)
سفارش انجام پروژه زبان برنامه نویسی جاوا اسکریپت (Javascript)
سفارش انجام پروژه هوش مصنوعی
سفارش انجام پروژه طراحی الگوریتم
سفارش انجام پروژه ساختمان داده ها
سفارش انجام پروژه مهندسی نرم افزار
سفارش انجام پروژه شبکه های کامپیوتری
سفارش انجام پروژه پایگاه داده: دیتابیس (database)
 سفارش انجام پروژه سیستم عامل
سفارش انجام پروژه پاورپوینت(PowerPoint)
سفارش انجام پروژه اکسل (Excel)
سفارش انجام تحقیق و تهیه مقاله
سوالات متداول برنامه نویسی
جدیدترین مطالب
گفتگو را شروع کنید
مشاوره ،تدریس خصوصی و سفارش انجام انواع پروژه های برنامه نویسی