ریاضیات (Java Math)
کلاس ریاضیات (Math): دنیای محاسبات هوشمند 📐📉
کلاس Math در جاوا مجموعهای از عملیاتهای ریاضی را روی اعداد انجام میدهد. این کلاس به صورت پیشفرض در جاوا وجود دارد و نیاز به تعریف آبجکت از آن نیست (متدها Static هستند).
۱. متدهای پایه Math
- Math.max(x, y): بزرگترین عدد بین دو ورودی را میدهد.
- Math.min(x, y): کوچکترین عدد بین دو ورودی را میدهد.
- Math.sqrt(x): جذر (ریشه دوم) عدد را محاسبه میکند.
- Math.abs(x): قدر مطلق (مقدار مثبت) عدد را برمیگرداند.
مثال:
{code_block('System.out.println(Math.max(5, 10)); // 10\nSystem.out.println(Math.sqrt(64)); // 8.0')}۲. تولید اعداد تصادفی (Random Numbers) 🎲
متد Math.random() یک عدد اعشاری تصادفی بین 0.0 تا 1.0 (خودِ 1.0 نیست) تولید میکند.
برای تولید یک عدد صحیح تصادفی در یک بازه خاص (مثلاً 0 تا 100)، از فرمول زیر استفاده میکنیم:
{code_block('int randomNum = (int)(Math.random() * 101); // عدد بین 0 تا 100')}java.lang است که به صورت خودکار در تمام برنامههای جاوا Import میشود.
۳. سایر متدهای مفید
- Math.pow(a, b): توان (a به توان b).
- Math.round(x): رُند کردن عدد به نزدیکترین عدد صحیح.
- Math.floor(x): رُند کردن رو به پایین.
- Math.ceil(x): رُند کردن رو به بالا.
BigDecimal استفاده میشود.
بخش تخصصی: عمیقتر در دنیای جاوا 🛠️💎
در این بخش، به نکاتی میپردازیم که در سطح حرفهای و مصاحبههای کاری بسیار مهم هستند.
۱. مدیریت حافظه (Memory Management)
در جاوا، دادهها در دو بخش از حافظه ذخیره میشوند: Stack و Heap. انواعِ داده اولیه (Primitives) معمولاً در Stack ذخیره میشوند که سرعت دسترسی به آنها بسیار بالاست. اشیاء و آرایهها در Heap ذخیره میشوند که حجم بیشتری دارد اما مدیریت آن توسط Garbage Collector انجام میشود. درک این تفاوت، کلید اصلی برای نوشتن برنامههای بهینه است.
۲. مفاهیم امنیت در سطح زبان
جاوا یکی از امنترین زبانهاست چون اجازه دسترسی مستقیم به آدرسهای فیزیکی حافظه (مانند اشارهگرها در C++) را نمیدهد. مضاف بر این، وجود Bytecode Verifier قبل از اجرا، تضمین میکند که کدهای مخرب یا نامعتبر اجرا نشوند.
۳. کدهای تمیز (Clean Code)
در پروژههای تیمی، خوانایی کد مهمتر از هوشمندانه بودن آن است. همیشه از نامهای معنادار برای متغیرها استفاده کنید (مثلاً به جای a از userAge استفاده کنید). همچنین رعایتِ CamelCase و استفاده درست از کامنتها، نگهداری پروژه را در آینده بسیار سادهتر میکند.
تمرینهای عملی
برای تثبیت یادگیری این درس تمرینهای زیر را حل کنید
با استفاده از متد مناسب در کلاس Math، جذر عدد 225 را محاسبه و چاپ کنید.
public class Main {
public static void main(String[] args) {
System.out.println(Math.sqrt(225));
}
}
آماده رفتن به درس بعدی هستید؟
این درس را به پایان رساندید و میتوانید به درس بعدی بروید.