Java Mathilla voi tehdä yk­sin­ker­tai­sia las­ku­toi­mi­tuk­sia. Siinä on erilaisia me­ne­tel­miä, jotka kattavat lo­ga­rit­mit ja tri­go­no­met­rian sekä kaikki pe­rus­asiat. Syntaksi on suh­teel­li­sen yk­sin­ker­tai­nen, joten se on helppo oppia.

Mikä on Java Math?

Jos haluat suorittaa pe­rus­las­ku­toi­mi­tuk­sia Java-kielellä, voit käyttää sen Math-luokkaa. Java-luokkaa ei tarvitse tuoda erikseen, ja se sisältää lukuisia me­ne­tel­miä, joita kä­sit­te­lem­me tarkemmin myöhemmin tässä ar­tik­ke­lis­sa.

Math-luokkaa ei ins­tan­sioi­da, ja sen me­to­dei­hin pääsee käsiksi vain staat­ti­ses­ti. Luokan kaksi va­kio­ar­voa ovat myös staat­ti­sia: Eulerin luku (noin e = 2,7182818284590), joka on luon­nol­li­sen lo­ga­rit­min ja luon­nol­li­sen eks­po­nent­ti­funk­tion perusta, sekä luku Pi (noin π = 3,1415926535). Oh­jel­moin­ti­kie­len­Math-luokka sisältyy java.lang-pakettiin, ja tämän luokan las­ken­ta­tu­lok­set ovat yleensä double-tie­to­tyyp­piä.

Kuinka suorittaa erilaisia laskelmia Java Mathilla

Java-luokan Math toi­min­nal­li­suus ja syntaksi on helpointa ymmärtää esi­merk­kien avulla. Luokan ja sen käytön ym­mär­tä­mi­nen on helpompaa yk­sit­täis­ten me­ne­tel­mien yh­tey­des­sä. Alla on esitetty erilaisia laskelmia, jotka ha­vain­nol­lis­ta­vat luokan toimintaa.

Määritä ab­so­luut­ti­set arvot

Jos haluat määrittää pa­ra­met­rin ab­so­luut­ti­sen arvon, voit käyttää abs(). Ab­so­luut­ti­nen arvo on luvun ja 0:n tai etu­mer­kit­tö­män luvun välinen etäisyys. Tämä tar­koit­taa, että tulos on aina po­si­tii­vi­nen. Tämän me­ne­tel­män sallitut tie­to­tyy­pit ovat double, float, int ja long. Alla näytämme, miten Math.abs toimii po­si­tii­vi­sen luvun kanssa. Seu­raa­vien esi­merk­kien tu­los­teis­sa käytämme Java-komentoa System.out.println.

public class Main {
public static void main(String args[]) {
int number = +7;
System.out.println ("The original number is: " + number);
System.out.println ("The absolute number is: " + "Math.abs (" + number + ") = " + Math.abs(number));
}
}
java

Tulostus näyttää tältä:

The original number is: 7 
The absolute number is: Math.abs ( 7 ) = 7
java

Alkuarvo voi olla myös ne­ga­tii­vi­nen. Tulos on silti po­si­tii­vi­nen. Kat­so­taan­pa, mitä tapahtuu, kun muutamme yllä olevan esimerkin luvun 7 ne­ga­tii­vi­sek­si:

public class Main {
public static void main(String args[]) {
int number = -7;
System.out.println ("The original number is: " + number);
System.out.println ("The absolute number is: " + "Math.abs (" + number + ") = " + Math.abs(number));
}
}
java

Tulostus on suurelta osin sama kuin edel­li­ses­sä esi­mer­kis­sä:

The original number is: -7 
The absolute number is: Math.abs( -7 ) = 7
java

Menetelmä jättää huomiotta ne­ga­tii­vi­sen ko­ko­nais­lu­vun (-7) merkin ja tulostaa tu­lok­sek­si 7.

Määritä suurin arvo

Käytä max() -me­ne­tel­mää kahden syötteen suuremman arvon mää­rit­tä­mi­seen. Näin se toimii:

public class Main {
public static void main(String args[]) {
double number = Math.max(3, 9);
System.out.println ("The larger number is: " + number);
}
}
java

Tulostus on:

The larger number is: 9.0
java

Määritä pienin arvo

Pienemmän arvon mää­rit­tä­mi­seen käy­tet­tä­vä koodi on sa­man­lai­nen kuin edel­li­ses­sä esi­mer­kis­sä. Käytä tätä varten me­ne­tel­mää min():

public class Main {
public static void main(String args[]) {
double number = Math.min(3, 9);
System.out.println ("The smaller number is: " + number);
}
}
java

Tässä on tulos:

The smaller number is: 3.0
java

Laske potenssit

Edelliset esimerkit olivat melko yk­sin­ker­tai­sia, mutta Java-luokka Math pystyy suo­rit­ta­maan myös mo­ni­mut­kai­sem­pia las­ku­toi­mi­tuk­sia. Voit esi­mer­kik­si laskea po­tens­se­ja. Potenssin las­ke­mi­seen käytetään pow()-metodia. Tätä metodia käy­tet­täes­sä on ensin mää­ri­tel­tä­vä kanta ja eks­po­nent­ti ennen laskennan suo­rit­ta­mis­ta.

public class Main {
public static void main(String args[]) {
double base = 4;
double exponent = 2;
double power = Math.pow(base, exponent);
System.out.println ("The result is: " + power);
}
}
java

Tulos näyttää tältä:

The result is: 16.0
java

Laske ne­liö­juu­ret

Luokkaa voidaan käyttää myös ne­liö­juu­ren las­ke­mi­seen sqrt() -me­ne­tel­mäl­lä. Seu­raa­vas­sa esi­mer­kis­sä laskemme 64:n ne­liö­juu­ren:

public class Main {
public static void main(String args[]) {
double number = 64;
double root = Math.sqrt(number);
System.out.println ("The result is: " + root);
}
}
java

Tämä on tulos:

The result is: 8.0
java

Luo sa­tun­nais­lu­ku­ja

random() -me­ne­tel­mäl­lä Java luo sa­tun­nais­lu­kua välillä 0,0 ja 1,0 tai itse mää­rit­tä­mäs­sä­si alueella.

public class Main {
public static void main(String args[]) {
double randomNumber;
System.out.println(Math.random());
}
}
java

Mah­dol­li­nen tulos voisi olla:

0.7488711506123137
java

Voit kuitenkin myös rajoittaa mah­dol­li­sia tuloksia, esi­mer­kik­si sal­li­mal­la vain ko­ko­nais­lu­ku­ja välillä 0–100. Tätä varten käytä seuraavaa koodia:

public class Main {
public static void main(String args[]) {
int randomNumber = (int) (Math.random() * 101);
System.out.println(randomNumber);
}
}
java

Tämä antaa sinulle sa­tun­nai­sen tuloksen, kuten tämän:

27
java

Mitkä ovat tär­keim­mät me­ne­tel­mät?

Java Math -luokassa on useita me­ne­tel­miä, joita voit käyttää. Olemme lis­tan­neet tär­keim­mät niistä tässä:

Menetelmä Toiminto
abs() Palauttaa ar­gu­men­tin ab­so­luut­ti­sen arvon
max() Palauttaa kahden arvon suuremman
min() Palauttaa pienemmän kahdesta arvosta.
pow() Palauttaa potenssin arvon
sqrt() Laskee ne­liö­juu­ren
random() Palauttaa sa­tun­nai­sen kak­soi­sar­von
cbrt() Laskee kuu­tio­juu­ren
log() Palauttaa double-arvon luon­nol­li­sen lo­ga­rit­min
sin() Laskee double-arvon sini
cos() Laskee double-arvon kosinin
tan() Laskee kak­soi­sar­von tangentin arvon.
round() Pyöristää kak­soi­sar­von ylöspäin tai alaspäin ko­ko­nais­lu­vuk­si
negateExact() Näyttää ar­gu­men­tin vas­tak­kai­sen arvon.
floor() Pyöristää alaspäin suurimman kak­soi­sar­von, joka on pienempi tai yhtä suuri kuin annettu ar­gu­ment­ti.
13c5abf9d4e693b8376239553b263482

0d45cf8c24766a34961a4c1242d9dfed

Siirry pää­va­lik­koon