Du kan udføre enkle be­reg­nin­ger med Java Math. Det har for­skel­li­ge metoder, der dækker lo­ga­rit­mer og tri­go­no­me­tri samt alle de grund­læg­gen­de emner. Syntaksen er for­holds­vis enkel, hvilket gør det let at lære.

Hvad er Java Math?

Hvis du vil udføre grund­læg­gen­de numeriske be­reg­nin­ger i Java, kan du bruge klassen Math. Java-klassen behøver ikke im­por­te­res separat og har ad­skil­li­ge metoder, som vi vil gennemgå mere de­tal­je­ret senere i denne artikel.

Math-klassen er ikke in­stan­si­e­ret, og dens metoder er kun til­gæn­ge­li­ge statisk. Klassens to kon­stan­ter er også statiske: Eulers tal (ca. e = 2,7182818284590), som er grund­la­get for den naturlige logaritme og den naturlige eks­po­nen­ti­al­funk­tion, og tallet Pi (ca. π = 3,1415926535). Pro­gram­me­rings­spro­gets­Math-klasse findes i java.lang-pakken, og be­reg­nings­re­sul­ta­ter­ne for denne klasse er normalt af datatypen double.

Sådan udfører du for­skel­li­ge be­reg­nin­ger med Java Math

Den bedste måde at forstå funk­tio­na­li­te­ten og syntaksen i Java-klassen Math er at bruge eksempler. Det er lettere at forstå klassen og hvordan den bruges i sam­men­hæng med in­di­vi­du­el­le metoder. Nedenfor har vi in­klu­de­ret en række for­skel­li­ge be­reg­nin­ger for at vise dig, hvordan klassen fungerer.

Bestem absolutte værdier

Hvis du vil bestemme den absolutte værdi af en parameter, kan du bruge abs(). En absolut værdi er afstanden mellem et tal og 0 eller et tal uden fortegn. Det betyder, at re­sul­ta­tet altid vil være positivt. De datatyper, der er tilladt for denne metode, er double, float, int og long. Nedenfor viser vi dig, hvordan Math.abs fungerer med et positivt tal. Til output i de følgende eksempler bruger vi Java-kom­man­do­en 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

Re­sul­ta­tet ser således ud:

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

Den op­rin­de­li­ge værdi kan også være negativ. Re­sul­ta­tet vil stadig være positivt. Lad os se, hvad der sker, når vi gør 7 i oven­stå­en­de eksempel negativt:

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

Outputtet er stort set det samme som i det fo­re­gå­en­de eksempel:

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

Metoden ignorerer fortegnet for det negative heltal (-7) og udgiver 7 som resultat.

Bestem den største værdi

Brug metoden max() til at bestemme den største værdi af to indgange. Sådan fungerer det:

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

Outputtet er:

The larger number is: 9.0
java

Bestem den mindste værdi

Koden til at bestemme en mindre værdi ligner koden i det fo­re­gå­en­de eksempel. Brug metode min() til at gøre dette:

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

Her er re­sul­ta­tet:

The smaller number is: 3.0
java

Beregn potenser

Mens de fo­re­gå­en­de eksempler var ret enkle, er der mere so­fi­sti­ke­re­de be­reg­nin­ger, som Java-klassen Math kan udføre. For eksempel kan du også beregne potenser. Metoden til beregning af potenser hedder pow(). Med denne metode skal vi først definere en base og en eksponent, før vi kan udføre be­reg­nin­gen.

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

Sådan vil re­sul­ta­tet se ud:

The result is: 16.0
java

Beregn kva­dra­trød­der

Klassen kan også bruges til kva­dra­trod­s­be­reg­nin­ger med sqrt(). I det følgende eksempel beregner vi kva­dra­tro­den af 64:

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

Dette er re­sul­ta­tet:

The result is: 8.0
java

Generer til­fæl­di­ge tal

Med metoden random() genererer Java et til­fæl­digt tal mellem 0,0 og 1,0 eller inden for et interval, som du selv angiver.

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

Et muligt resultat kunne være:

0.7488711506123137
java

Du kan dog også begrænse de mulige re­sul­ta­ter, for eksempel ved kun at tillade hele tal mellem 0 og 100. For at gøre dette skal du bruge følgende kode:

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

Dette giver dig et til­fæl­digt resultat som dette:

27
java

Hvad er de vigtigste metoder?

Der er mange metoder, du kan bruge med Java Math-klassen. Vi har listet de vigtigste for dig her:

Metode Funktion
abs() Re­tur­ne­rer den absolutte værdi af et argument
max() Re­tur­ne­rer den største af to værdier
min() Re­tur­ne­rer den mindste af to værdier
pow() Re­tur­ne­rer po­tens­vær­di­en
sqrt() Beregner kva­dra­tro­den
random() Re­tur­ne­rer en tilfældig dob­belt­vær­di
cbrt() Beregner ku­bikro­den
log() Re­tur­ne­rer den naturlige logaritme af en dob­belt­vær­di.
sin() Beregner sinus for en dob­belt­vær­di
cos() Beregner cosinus for en dob­belt­vær­di.
tan() Beregner tan­gens­vær­di­en af en dob­belt­vær­di.
round() Afrunder en dob­belt­vær­di op eller ned til et heltal
negateExact() Viser den modsatte værdi af et argument
floor() Afrunder den største dob­belt­vær­di, der er mindre end eller lig med det givne argument, nedad.
13c5abf9d4e693b8376239553b263482

0d45cf8c24766a34961a4c1242d9dfed

85128067dfa6102f4b622b0aa3efdfe4

Gå til ho­ved­me­nu­en