Бұл мақалада біз Java тіліндегі математика сабағына қысқаша шолу жасаймыз. Осы сыныптың әдістерін және оларды қалай пайдалану керектігін айтайық. Math сыныбы java.lang бумасында орналасқан және әртүрлі математикалық есептеулерді орындауға арналған статикалық әдістер жинағын қамтамасыз етеді. Төменде математика сыныбы пайдалы болуы мүмкін есептеулердің мысалдары берілген:
- Абсолюттік мәндерді есептеу (модульдік мәндер)
- Тригонометриялық функциялардың мәндерін есептеу (синустар, косинустар және т.б.)
- Әртүрлі дәрежеге көтерілу
- Әртүрлі дәрежедегі тамырларды алу
- Кездейсоқ сандарды генерациялау
- Дөңгелектеу
- т.б.
- статикалық қос абс (қос а)
- статикалық қалқымалы abs(float a)
- статикалық 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
}
Тригонометриялық функциялардың мәндерін есептеу
Математика сыныбы әртүрлі тригонометриялық функцияларды – синустарды, косинустарды, тангенстерді және т.б. есептеуге мүмкіндік береді. Әдістердің толық тізімін ресми құжаттама веб-сайтынан табуға болады . Төменде осы әдістердің тізімі берілген:- статикалық қос күнә (қос а)
- статикалық қос кос (қос а)
- статикалық қос күйдіргіш(қос а)
- статикалық қос асин(қос а)
- статикалық қос акос(қос а)
- статикалық қос атан(қос а)
- статикалық қос-дәреже (қос анград)
- статикалық қос радианға(қос ангдег)
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
}
Түбірді экстракциялау
Математика сыныбы шаршы және текше түбірлерін алу әдістерін береді. Бұл proceduresаға келесі әдістер жауап береді:- статикалық қос шаршы(қос а)
- статикалық қос cbrt(қос а)
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 (қоса алғанда) мен max (қоса алғанда) аралығындағы кездейсоқ бүтін санды қайтаратын функцияның мысалы келтірілген:
static int randomInARange(int min, int max) {
return (int) (Math.random() * ((max - min) + 1)) + min;
}
RandomInARange әдісін тексеретін Main әдісін жазайық:
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
Дөңгелектеу
Java тілінде сандарды дөңгелектеу үшін құралдардың бірі Math класының әдістері болып табылады. Дәлірек айтқанда, дөңгелек, төбе және еден әдістері:- статикалық ұзын дөңгелек (қос а)
- static int round(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