Bu makalada Java-da Matematika synpyna gysgaça syn bereris. Geliň, bu synpyň usullary we olary nähili ulanmalydygy barada gürleşeliň. Matematika synpy java.lang paketinde ýerleşýär we birnäçe dürli matematiki hasaplamalary ýerine ýetirmek üçin statiki usullaryň toplumyny üpjün edýär. Aşakda Matematika synpynyň peýdaly bolup biljek hasaplamalarynyň mysallary bar:
- Mutlak bahalary hasaplamak (modulo bahalar)
- Trigonometrik funksiýalaryň bahalaryny hasaplamak (sinuslar, kosinler we ş.m.)
- Dürli derejelere çykmak
- Dürli derejedäki kökleri çykarmak
- Tötänleýin san döretmek
- Tegelek
- We ş.m.
- statiki goşa abs (goşa a)
- statik float abs (float a)
- statik int abs (int a)
- statik uzyn abs (uzyn 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
}
Trigonometrik funksiýalaryň bahalaryny hasaplamak
Matematika synpy dürli trigonometrik funksiýalary - sinuslary, kosinleri, tangentleri we ş.m. hasaplamaga mümkinçilik berýär, usullaryň doly sanawyny resmi resminama web sahypasynda tapyp bilersiňiz . Aşakda bu usullaryň sanawy:- statiki goşa günä (goşa a)
- statik goşa cos (goşa a)
- statiki goşa tan (goşa a)
- statik goşa asin (goşa a)
- statiki goşa akos (goşa a)
- statik goşa atan (goşa a)
- statiki goşa toDegrees (goşa angrad)
- statiki goşa Radianlara (goşa angdeg)
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)));
}
Programma çykar:
0.0
0.49999999999999994
1.0
1.0
0.8660254037844387
6.123233995736766E-17
Sine we kosinleriň tablisalaryna düýbünden laýyk gelmeýän, bölekleýin derejelerden radianlara öwrülmegindäki ýalňyşlyklar sebäpli.
Eksponentasiýa
San güýjüne ýetmek üçin, Matematika synpy aşakdaky goly bolan pow usuly bilen üpjün edýär:static double pow(double a, double b)
Bu usul "a" parametrini güýje "b" ýokarlandyrýar. Mysallar:
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
}
Kök çykarmak
Matematika synpy kwadrat we kub köklerini almagyň usullaryny hödürleýär. Bu amal üçin aşakdaky usullar jogapkärdir:- statiki goşa sqrt (goşa a)
- statiki goşa cbrt (goşa 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
}
Tötänleýin san döretmek
Tötänleýin sanlary döretmek üçin Matematika synpy tötänleýin usuly üpjün edýär. Bu usul 0.0-dan 1.0 aralygynda tötänleýin polo positiveitel hakyky (goşa) san döredýär. Usul goly şuňa meňzeýär:public static double random()
Mysallara seredeliň:
public static void main(String[] args) {
for (int i = 0; i < 5; i++) {
System.out.println(Math.random());
}
}
Esasy usuly ýerine ýetirensoň, konsolda aşakdakylar görkezildi:
0.37057465028778513
0.2516253742011597
0.9315649439611121
0.6346725713527239
0.7442959932755443
Biraz manipulýasiýa etmek bilen, belli bir aralykda ýerleşýän bitewi tötänleýin sanlary almak üçin Matematika synpynyň tötänleýin usulyny ulanyp bilersiňiz. Ine, min we max iki argumenti alýan we min (öz içine alýan) -dan max (öz içine alýan) aralygynda ýerleşýän tötänleýin bitewi sanlary yzyna gaýtaryp berýän funksiýanyň mysaly:
static int randomInARange(int min, int max) {
return (int) (Math.random() * ((max - min) + 1)) + min;
}
Tötänleýin INARange usulyny synap görjek esasy usulymyzy ýazalyň:
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;
}
}
Esasy usuly işledensoň, çykyş şeýle bolup biler:
-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
Tegelek
Java-da sanlary tegeleklemek üçin gurallaryň biri Matematika synpynyň usullarydyr. Has takygy, tegelek, potol we pol usullary:- statik uzyn tegelek (goşa a)
- statik int tegelek (ýüzmek a)
- statik goşa gat (goşa a)
- statik goşa potolok (goşa 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
}
Netije
Bu makalada Matematika synpyna ýüzleý göz aýladyk. Bu synpy nädip ulanyp boljakdygyna göz aýladyk:- Bahalary modul hasaplaň;
- Trigonometrik funksiýalaryň bahalaryny hasaplamak;
- Häkimiýetlere sanlary köpeltmek;
- Kwadrat we kub köklerini çykarmak;
- Tötänleýin sanlary dörediň;
- Tegelek sanlar.
GO TO FULL VERSION