Java.lang.Math – Numeriska operationer i Java


Klassen java.lang.Math innehåller metoder för att utföra grundläggande numeriska operationer, till exempel logaritmen, kvadratroten och trigonometriska funktioner.

Vad är java.lang.Math?

I avsnittet Matematiska beräkningar i Java lärde vi oss att de vanligaste matematiska operationerna som addition, subtraktion och multiplikation finns inbyggt som standard i Java. Men för att använda mer avancerade matematiska funktioner som logaritmen, upphöjt till och roten ur, behöver vi importera ett matematiskt bibliotek, exempelvis java.lang.Math. 

Java.lang.Math innehåller över 75 inbyggda matematiska operationer!

Hur fungerar java.lang.Math?

Java har en inbyggd standardklass, java.lang.Math, som innehåller många vanliga matematiska metoder som underlättar när man vill utföra mer avancerade matematiska beräkningar

  • Java.lang.Math kan utföra matematiska beräkningar som roten ur, logaritmen och upphöjt till, eller använda trigonometriska funktioner som sinus, cosinus och tangens, och mycket mer.
  • Java.lang.Math innehåller över 75 inbyggda matematiska operationer och nedan visas ett par exempel på hur man använder sig av några av metoderna.
  • För en fullständig lista på alla operationer, se Math (Java Platform SE 8 ) – Oracle Help Center

Längre fram i kapitel 5 kommer vi se mer av hur metoder fungerar och hur man kan skapa egna metoder, men nu nöjer vi oss med att se hur vi kan använda oss av de inbyggda metoderna i java.lang.Math för att enklare utföra olika matematiska beräkningar.

Till sist, glöm inte bort att hålla koll på vilken datatyp som är kompatibel med den beräkning du tänker genomföra, så att du inte råkar ut för oväntade fel!

Hur använder man mer avancerade matematiska operationer i Java?

Det är enkelt att använda sig av java.lang.Math. Överst i ditt program, importerar du paketet med det reserverade ordet import, följt av static för att göra paketet synligt i hela programmet

import static java.lang.Math.*;

Du har nu tillgång till alla metoder i Math. Stjärnan (*) innebär att vi importerar alla metoder som paketet innehåller, exempelvis Pi och Eulers tal.

import static java.lang.Math.*;
public class java_math {
    public static void main(String[] args) {
        System.out.println(PI);  // PI: 3.141592653589793
        System.out.println(E);   // Eulers tal: 2.718281828459045
    }
}

Resulterar i,

3.141592653589793 
2.718281828459045

I detta fall kan vi dock göra det ännu enklare. Eftersom java.lang.Math är ett standardbibliotek i Java så är det möjligt att direkt kalla på biblioteket utan att först importera det. För att kalla på biblioteket skriver vi helt enkelt Math. följt av den matematiska operationen

public class java_math {
    public static void main(String[] args) {
        System.out.println(Math.PI);  // PI: 3.141592653589793
        System.out.println(Math.E);   // Eulers tal: 2.718281828459045
    }
}

Vilket ger exakt samma utskrift.

Testa att skriv Math. i IntelliJ. Då visas en lång lista med alla metoder som finns tillgängliga!

Hur använder man en metod i java.lang.Math?

Säg att vi vill beräkna 6^2 ( 6 “upphöjt till” 2 ), som förvisso är ett enkelt tal att beräkna. Det viktiga är att se hur vi kan använda metoderna på ett enkelt sätt.

double num = Math.pow(6.0, 2.0); // num = 36.0

Eller kvadratroten ur 9

double numSquare = Math.sqrt(9.0); // numSquare = 3.0

Konstanterna använder vi på liknande sätt. Säg att vi vill beräkna 5^Pi ( 5 “upphöjt till” Pi)

double numPowPi = Math.pow(5.0 , Math.PI); // numPowPi = 278.377

Vi skriver helt enkelt Math. följt av den metod vi vill använda. Observera att de flesta metoder i denna klass returnerar en double.

Notera angående java.lang.Math

Som nämnt ovan är det viktigt att hålla koll på vilken datatyp vi använder metoden med. Vi kan t.ex. inte skriva

int num = Math.pow(6, 2);

Det kommer resultera i ett kompileringsfel då metoden kräver en double. Vill vi använda oss av int får vi först göra beräkningen och spara ned den i en double först, och sedan konvertera den till en int.

Vad tyckte du om sidan?

Lämna gärna feedback och hjälp oss göra sidan bättre

Feedback gör oss bättre!

Lämna gärna feedback om vad du tyckte om avsnittet!