متدها و ثابت های تعریف شده در جاوا
معمولا نیاز داریم تا کلاس هایی ایجاد کنیم تا بتوانیم از آنها اشیائی را نمونه گیری کنیم. اما بیشتر این کلاس ها تکراری هستند و توسط اکثر برنامه نویسان مورد استفاده قرار می گیرند. پس به جای اینکه هر برنامه نویس، خودش را به زحمت بیاندازد و تمام این کلاس های مورد نیاز را ایجاد کند، سازندگان زبان جاوا این کار را انجام داده اند و کلاس های فراوانی را برای استفاده ی برنامه نویس طراحی کرده اند.
در مقالات قبلی، با چند نوع از این کلاس های از پیش تعریف شده آشنا شدیم. بعنوان مثال برای ایجاد خروجی، از کلاس های System و JOptionPane استفاده نمودیم. هر یک از این کلاس ها در داخل یک پکیج(package) یا یک کتابخانه(library) از کلاس ها، ذخیره سازی می شوند. پکیج ها یا همان کتابخانه های کلاس ها، در حقیقت پوشه هایی هستند که کلاس ها در داخل آنها قرار می گیرند.
برای اینکه بتوانیم پکیج ها را در داخل برنامه ی خود مورد استفاده قرار دهیم، باید نام آنها را در داخل برنامه ی خود فراخوانی کنیم. بعنوان مثال اگر بخواهیم از JOptionPane استفاده کنیم، باید پکیج javax.swing را در داخل برنامه ی خودمان import (اضافه) کنیم. اما کلاس هایی مثل کلاس System که فراوان مورد استفاده قرار می گیرند، به طور اتوماتیک در تمام برنامه هایی که می نویسیم، اضافه می شوند. پکیج کلاس System که به طور غیرمستقیم در تمام برنامه های جاوا import می شود، پکیج java.lang است. کلاس هایی که در داخل این پکیج قرار می گیرند، کلاس های پایه و اصلی هستند.
در برخی از مراجع جاوا، چند کلاس دیگر نیز بعنوان کلاس های اصلی ذکر شده اند، اما پکیج java.lang تنها پکیجی است که به طور اتوماتیک در برنامه ها import می شود.
کلاس java.lang.Math حاوی ثابت ها و متدهایی است که به وسیله ی آنها می توانیم عملیات های ریاضی را انجام دهیم. تمامی ثابت ها و متدهای این کلاس استاتیک(static) هستند. بعنوان مثال PI یا همان عدد پی، یک ثابت در این کلاس است که بسیار مورد استفاده قرار می گیرد. در داخل کلاس Math، عدد PI به صورت زیر تعریف شده است:
public final static double PI = 3.14159265358979323846;
در مورد تعریف عدد PI به نکات زیر توجه کنید:
1. این عدد public است، بنابراین تمام برنامه ها به طور مستقیم می توانند به آن دسترسی داشته باشند.
2.این عدد final است، بنابراین نمی تواند تغییر کند.
3.این عدد static است، بنابراین تنها یک نمونه از آن وجود دارد و می توانیم بدون ایجاد یک شیء از کلاس Math به آن دسترسی داشته باشیم.
4. این عدد double است، بنابراین حاوی یک مقدار ممیز شناور است.
نکته: عدد E نیز یک عدد پرکاربرد است که بعنوان مبنای لگاریتم های طبیعی مورد استفاده قرار می گیرد. این عدد به صورت زیر تعریف می شود:
public final static double E = 2.7182818284590452354;
با استفاده از نام کامل پکیجی که عدد PI در آن قرار دارد، می توانیم آن را در برنامه های خود مورد استفاده قرار دهیم. بعنوان مثال اگر بخواهیم مساحت یک دایره را به دست بیاوریم، به صورت زیر عمل می کنیم:
areaOfCircle = java.lang.Math.PI * radius * radius;
اما همان طور که قبلا گفته شد، پکیج java.lang به طور اتوماتیک در تمام برنامه ها import (اضافه) می شود؛ بنابراین به هنگام استفاده از عدد PI، اگر از عبارت Math.PI استفاده کنیم، زبان جاوا کدهای ما را به درستی تشخیص می دهد. بنابراین به طور ساده، می توانیم به صورت زیر نیز عمل کنیم:
areaOfCircle = Math.PI * radius * radius;
علاوه بر ثابت ها، در داخل کلاس Math متدهای مفیدی نیز وجود دارند که می توانیم از آنها استفاده کنیم. به عنوان مثال متد ()Math.max ماکزیمم دو عدد را برمی گرداند. و متد ()Math.abs قدرمطلق یک عدد را برمی گرداند. در جدول 4.1 لیست برخی از متدهای کلاس Math آورده شده است:
متد | مقداری که متد برمی گرداند |
(abs(x | قدر مطلق x |
( acos(x | آرک کسینوس x |
(asin(x | آرک سینوس x |
(atan(x | آرک تانژانت x |
(atan2(x, y | مختصات (x,y) را به مختصات قطبی (r,theta) تبدیل می کند و مولفه ی theta را برمی گرداند. |
(ceil(x | کوچکترین عدد صحیح بزرگتر یا مساوی x را برمی گرداند. |
(cos(x | کسینوس x را برمی گرداند. |
(exp(x | مقدار Ex را برمی گرداند. |
(floor(x | بزرگترین عدد صحیح کوچکتر یا مساوی x را برمی گرداند. (جزء صحیح x) |
(log(x | لگاریتم طبیعی x را برمی گرداند. |
(max(x, y | ماکزیمم x و y را برمی گرداند. |
(min(x, y | مینیمم x و y را برمی گرداند. |
(pow(x, y | مقدار x به توان y را برمی گرداند. |
()random |
یک عدد double تصادفی بین 0.0 تا 1.0 را برمی گرداند. |
(rint(x |
نزدیک ترین عدد صحیح به x را برمی گرداند(x یک مقدار double است و مقدار برگشتی نیز double می باشد). |
(round(x | نزدیک ترین عدد صحیح به x را برمی گرداند(به طوری که x از نوع float یا double است و مقدار برگشتی از نوع int یا long است). |
(sin(x | سینوس x را برمی گرداند. |
(sqrt(x | جزر x را برمی گرداند. |
(tan(x | تانژانت x را برمی گرداند. |
به دلیل اینکه تمام متدها و ثابت های کلاس Math از نوع static هستند، نیازی نیست تا برای استفاده از آنها، از این کلاس نمونه گیری کنیم(یعنی لازم نیست از این کلاس، شیء اجاد کنیم).
نکته: به دلیل اینکه constructor کلاس Math از نوع private است، برنامه های ما قادر نیستند تا به constructor دسترسی داشته باشند، بنابراین نمی توانیم اشیاعی از نوع Math ایجاد کنیم(نمونه گیری کنیم).
- نوشته شده توسط احسان عباسی
- بازدید: 4663