در این مقاله به بررسی مختصری از کلاس ریاضی در جاوا می پردازیم. بیایید در مورد متدهای این کلاس و نحوه استفاده از آنها صحبت کنیم. کلاس Math در بسته java.lang قرار دارد و مجموعه ای از روش های ثابت را برای انجام تعدادی از محاسبات مختلف ریاضی ارائه می دهد. در زیر نمونه هایی از محاسبات وجود دارد که ممکن است کلاس ریاضی برای آنها مفید باشد:
- محاسبه مقادیر مطلق (مقادیر مدول)
- محاسبه مقادیر توابع مثلثاتی (سینوس، کسینوس و غیره)
- ارتفاع به درجات مختلف
- استخراج ریشه در درجات مختلف
- تولید اعداد تصادفی
- گرد کردن
- و غیره.
- شکم دوتایی استاتیک (دبل الف)
- abs شناور استاتیک (float a)
- static int abs (int a)
- شکم بلند ثابت (طول a)
public static void main(String[] args) {
System.out.println(Math.abs(-1)); // 1
System.out.println(Math.abs(-21.8d)); // 21.8
System.out.println(Math.abs(4532L)); // 4532
System.out.println(Math.abs(5.341f)); // 5.341
}
محاسبه مقادیر توابع مثلثاتی
کلاس ریاضی به شما امکان می دهد توابع مثلثاتی مختلفی را محاسبه کنید - سینوس ها، کسینوس ها، مماس ها و غیره. فهرست کاملی از روش ها را می توانید در وب سایت اسناد رسمی پیدا کنید . در زیر لیستی از این روش ها آورده شده است:- گناه مضاعف ساکن (الف مضاعف)
- cos دوگانه استاتیک (double a)
- استاتیک دوبرنزه (دوبل الف)
- استاتیک دابل اسین (دبل الف)
- آکوس دوگانه استاتیک (دبل الف)
- آتان مضاعف استاتیک (دبل الف)
- استاتیک دو تا درجه (آنگراد دو برابر)
- استاتیک مضاعف به رادیان (انگد دو برابر)
public static void main(String[] args) {
System.out.println(Math.sin(Math.toRadians(0)));
System.out.println(Math.sin(Math.toRadians(30)));
System.out.println(Math.sin(Math.toRadians(90)));
System.out.println(Math.cos(Math.toRadians(0)));
System.out.println(Math.cos(Math.toRadians(30)));
System.out.println(Math.cos(Math.toRadians(90)));
}
برنامه خروجی خواهد داد:
0.0
0.49999999999999994
1.0
1.0
0.8660254037844387
6.123233995736766E-17
که کاملاً با جداول سینوس و کسینوس مطابقت ندارد، تا حدی به دلیل اشتباهات در تبدیل درجه به رادیان.
توانمندی
برای افزایش یک عدد به توان، کلاس Math یک متد pow ارائه می دهد که دارای امضای زیر است:static double pow(double a, double b)
این روش پارامتر "a" را به توان "b" افزایش می دهد. مثال ها:
public static void main(String[] args) {
System.out.println(Math.pow(1,2)); // 1.0
System.out.println(Math.pow(2,2)); // 4.0
System.out.println(Math.pow(3,2)); // 9.0
System.out.println(Math.pow(4,2)); // 16.0
System.out.println(Math.pow(5,2)); // 25.0
System.out.println(Math.pow(1,3)); // 1.0
System.out.println(Math.pow(2,3)); // 8.0
System.out.println(Math.pow(3,3)); // 27.0
System.out.println(Math.pow(4,3)); // 64.0
System.out.println(Math.pow(5,3)); // 125.0
}
استخراج ریشه
کلاس Math روش هایی برای گرفتن ریشه های مربع و مکعب ارائه می دهد. روش های زیر مسئول این روش هستند:- استاتیک دو sqrt (دو a)
- استاتیک دو برابر cbrt (دو a)
public static void main(String[] args) {
System.out.println(Math.sqrt(4)); // 2.0
System.out.println(Math.sqrt(9)); // 3.0
System.out.println(Math.sqrt(16)); // 4.0
System.out.println(Math.cbrt(8)); // 2.0
System.out.println(Math.cbrt(27)); // 3.0
System.out.println(Math.cbrt(125)); // 5.0
}
تولید اعداد تصادفی
برای تولید اعداد تصادفی، کلاس Math روش تصادفی را ارائه می دهد. این روش یک عدد واقعی مثبت تصادفی (دوگانه) در محدوده 0.0 تا 1.0 ایجاد می کند. امضای متد به شکل زیر است:public static double random()
بیایید به مثال ها نگاه کنیم:
public static void main(String[] args) {
for (int i = 0; i < 5; i++) {
System.out.println(Math.random());
}
}
پس از اجرای روش اصلی، موارد زیر در کنسول نمایش داده می شود:
0.37057465028778513
0.2516253742011597
0.9315649439611121
0.6346725713527239
0.7442959932755443
با کمی دستکاری، می توانید از روش تصادفی کلاس Math برای به دست آوردن اعداد تصادفی صحیح در یک محدوده خاص استفاده کنید. در اینجا نمونه ای از تابعی است که دو آرگومان min و max را می گیرد و یک عدد صحیح تصادفی را برمی گرداند که در محدوده از min (شامل) تا حداکثر (شامل) قرار دارد:
static int randomInARange(int min, int max) {
return (int) (Math.random() * ((max - min) + 1)) + min;
}
بیایید یک متد Main بنویسیم که در آن روش randomInARange را آزمایش می کنیم:
public class MathExample {
public static void main(String[] args) {
// Карта, в которой мы будем хранить количество выпадений Howого-то числа
Map<Integer, Integer> map = new TreeMap<>();
// За 10000 операций
for (int i = 0; i < 10000; i++) {
// Сгенерируем рандомное число от -10 включительно до 10 включительно
final Integer randomNumber = randomInARange(-10, 10);
if (!map.containsKey(randomNumber)) {
// Если карта еще не содержит "выпавшего случайного числа"
// Положим его в карту с кол-вом выпадений = 1
map.put(randomNumber, 1);
} else {
// Иначе, увеличим количество выпадений данного числа на 1
map.put(randomNumber, map.get(randomNumber) + 1);
}
}
// Выведем на экран содержимое карты в формате ключ=[meaning]
for (Map.Entry<Integer, Integer> entry : map.entrySet()){
System.out.println(String.format("%d=[%d]", entry.getKey(), entry.getValue()));
}
}
static int randomInARange(int min, int max) {
return (int) (Math.random() * ((max - min) + 1)) + min;
}
}
پس از اجرای روش اصلی، خروجی ممکن است به شکل زیر باشد:
-10=[482]
-9=[495]
-8=[472]
-7=[514]
-6=[457]
-5=[465]
-4=[486]
-3=[500]
-2=[490]
-1=[466]
0=[458]
1=[488]
2=[461]
3=[470]
4=[464]
5=[463]
6=[484]
7=[479]
8=[459]
9=[503]
10=[444]
Process finished with exit code 0
گرد کردن
برای گرد کردن اعداد در جاوا یکی از ابزارها متدهای کلاس Math است. به طور دقیق تر، روش های گرد، سقف و کف:- گرد طولانی ثابت (دو a)
- دایره بینالمللی استاتیک (float a)
- طبقه دوبل استاتیک (دبل الف)
- سقف دوتایی استاتیک (دبل الف)
public static void main(String[] args) {
System.out.println(Math.round(1.3)); // 1
System.out.println(Math.round(1.4)); // 1
System.out.println(Math.round(1.5)); // 2
System.out.println(Math.round(1.6)); // 2
System.out.println(Math.floor(1.3)); // 1.0
System.out.println(Math.floor(1.4)); // 1.0
System.out.println(Math.floor(1.5)); // 1.0
System.out.println(Math.floor(1.6)); // 1.0
System.out.println(Math.ceil(1.3)); // 2.0
System.out.println(Math.ceil(1.4)); // 2.0
System.out.println(Math.ceil(1.5)); // 2.0
System.out.println(Math.ceil(1.6)); // 2.0
}
نتیجه
در این مقاله نگاهی سطحی به کلاس ریاضی انداختیم. ما به نحوه استفاده از این کلاس نگاه کردیم:- محاسبه مقادیر مدولو؛
- محاسبه مقادیر توابع مثلثاتی؛
- افزایش اعداد به قدرت؛
- استخراج ریشه های مربعی و مکعبی؛
- تولید اعداد تصادفی؛
- اعداد گرد
GO TO FULL VERSION