Java heeft verschillende geavanceerde gebruikstoepassingen gehad, waaronder het werken met complexe berekeningen in de natuurkunde, architectuur / ontwerpen van structuren, werken met kaarten en bijbehorende breedtegraden / lengtegraden, enz.
In deze tutorial leer je:
- Math.abs
- Wiskunde. Rond
- Math.ceil & Math.floor
- Math. Min
Al dergelijke toepassingen vereisen het gebruik van complexe berekeningen / vergelijkingen die vervelend zijn om handmatig uit te voeren. Programmatisch zouden dergelijke berekeningen het gebruik van logaritmen, trigonometrie, exponentiële vergelijkingen, enz. Inhouden.
Nu kunt u niet alle logboek- of trigonometrietabellen ergens in uw toepassing of gegevens hardcoderen. De gegevens zouden enorm en complex te onderhouden zijn.
Java biedt hiervoor een zeer nuttige klasse. Het is de Math java-klasse (java.lang.Math).
Deze klasse biedt methoden voor het uitvoeren van bewerkingen zoals exponentiële, logaritme, wortels en trigonometrische vergelijkingen.
Laten we eens kijken naar de methoden die door de Java Math-klasse worden geboden.
De twee meest fundamentele elementen in Math zijn de 'e' (basis van de natuurlijke logaritme) en 'pi' (verhouding van de omtrek van een cirkel tot de diameter). Deze twee constanten zijn vaak vereist in de bovenstaande berekeningen / bewerkingen.
Daarom biedt de Math-klasse java deze twee constanten als dubbele velden.
Math.E - met een waarde als 2,718281828459045
Math.PI - met een waarde als 3.141592653589793
A) Laten we eens kijken naar de onderstaande tabel die ons de basismethoden en de beschrijving ervan laat zien
Methode | Omschrijving | Argumenten |
buikspieren | Retourneert de absolute waarde van het argument | Dubbel, zwevend, int, lang |
ronde | Retourneert de gesloten int of long (volgens het argument) | dubbel of zwevend |
plafond | Retourneert het kleinste gehele getal dat groter is dan of gelijk is aan het argument | Dubbele |
verdieping | Retourneert het grootste gehele getal dat kleiner is dan of gelijk is aan het argument | Dubbele |
min | Retourneert de kleinste van de twee argumenten | Dubbel, zwevend, int, lang |
max. hoogte | Retourneert de grootste van de twee argumenten | Dubbel, zwevend, int, lang |
Hieronder ziet u de code-implementatie van de bovenstaande methoden:
Opmerking: het is niet nodig om java.lang.Math expliciet te importeren omdat het impliciet geïmporteerd wordt. Al zijn methoden zijn statisch.
Integer-variabele
int i1 = 27;int i2 = -45;
Dubbele (decimale) variabelen
double d1 = 84.6;double d2 = 0.45;
Math.abs
public class Guru99 {public static void main(String args[]) {int i1 = 27;int i2 = -45;double d1 = 84.6;double d2 = 0.45;System.out.println("Absolute value of i1: " + Math.abs(i1));System.out.println("Absolute value of i2: " + Math.abs(i2));System.out.println("Absolute value of d1: " + Math.abs(d1));System.out.println("Absolute value of d2: " + Math.abs(d2));}}Uitgang:
Absolute value of i1: 27Absolute value of i2: 45Absolute value of d1: 84.6Absolute value of d2: 0.45
Wiskunde. Rond
public class Guru99 {public static void main(String args[]) {double d1 = 84.6;double d2 = 0.45;System.out.println("Round off for d1: " + Math.round(d1));System.out.println("Round off for d2: " + Math.round(d2));}}Uitgang:
Round off for d1: 85Round off for d2: 0
Math.ceil & Math.floor
public class Guru99 {public static void main(String args[]) {double d1 = 84.6;double d2 = 0.45;System.out.println("Ceiling of '" + d1 + "' = " + Math.ceil(d1));System.out.println("Floor of '" + d1 + "' = " + Math.floor(d1));System.out.println("Ceiling of '" + d2 + "' = " + Math.ceil(d2));System.out.println("Floor of '" + d2 + "' = " + Math.floor(d2));}}Uitgang:
Ceiling of '84.6' = 85.0Floor of '84.6' = 84.0Ceiling of '0.45' = 1.0Floor of '0.45' = 0.0
Math. Min
public class Guru99 {public static void main(String args[]) {int i1 = 27;int i2 = -45;double d1 = 84.6;double d2 = 0.45;System.out.println("Minimum out of '" + i1 + "' and '" + i2 + "' = " + Math.min(i1, i2));System.out.println("Maximum out of '" + i1 + "' and '" + i2 + "' = " + Math.max(i1, i2));System.out.println("Minimum out of '" + d1 + "' and '" + d2 + "' = " + Math.min(d1, d2));System.out.println("Maximum out of '" + d1 + "' and '" + d2 + "' = " + Math.max(d1, d2));}}Uitgang:
Minimum out of '27' and '-45' = -45Maximum out of '27' and '-45' = 27Minimum out of '84.6' and '0.45' = 0.45Maximum out of '84.6' and '0.45' = 84.6
B) Laten we eens kijken naar de onderstaande tabel die ons de exponentiële en logaritmische methoden en de beschrijving ervan laat zien:
Methode | Omschrijving | Argumenten |
exp | Retourneert de basis van natuurlijk logboek (e) naar de kracht van argument | Dubbele |
Logboek | Retourneert de natuurlijke log van het argument | dubbele |
Pow | Neemt 2 argumenten als invoer en retourneert de waarde van het eerste argument verheven tot de macht van het tweede argument | Dubbele |
verdieping | Retourneert het grootste gehele getal dat kleiner is dan of gelijk is aan het argument | Dubbele |
Sqrt | Retourneert de vierkantswortel van het argument | Dubbele |
Hieronder ziet u de code-implementatie van de bovenstaande methoden: (Dezelfde variabelen worden gebruikt als hierboven)
public class Guru99 {public static void main(String args[]) {double d1 = 84.6;double d2 = 0.45;System.out.println("exp(" + d2 + ") = " + Math.exp(d2));System.out.println("log(" + d2 + ") = " + Math.log(d2));System.out.println("pow(5, 3) = " + Math.pow(5.0, 3.0));System.out.println("sqrt(16) = " + Math.sqrt(16));}}Uitgang:
exp(0.45) = 1.568312185490169log(0.45) = -0.7985076962177716pow(5, 3) = 125.0sqrt(16) = 4.0
C) Laten we eens kijken naar de onderstaande tabel die ons de trigonometrische methoden en de beschrijving ervan laat zien:
Methode | Omschrijving | Argumenten |
Zonde | Retourneert de sinus van het opgegeven argument | Dubbele |
Cos | Retourneert de cosinus van het opgegeven argument | dubbele |
Bruinen | Retourneert de Tangens van het opgegeven argument | Dubbele |
Atan2 | Converteert rechthoekige coördinaten (x, y) naar polair (r, theta) en retourneert theta | Dubbele |
toDegrees | Converteert de argumenten naar graden | Dubbele |
Sqrt | Retourneert de vierkantswortel van het argument | Dubbele |
toRadians | Converteert de argumenten naar radialen | Dubbele |
Standaardargumenten zijn in radialen
Hieronder ziet u de implementatie van de code:
public class Guru99 {public static void main(String args[]) {double angle_30 = 30.0;double radian_30 = Math.toRadians(angle_30);System.out.println("sin(30) = " + Math.sin(radian_30));System.out.println("cos(30) = " + Math.cos(radian_30));System.out.println("tan(30) = " + Math.tan(radian_30));System.out.println("Theta = " + Math.atan2(4, 2));}}Uitgang:
sin(30) = 0.49999999999999994cos(30) = 0.8660254037844387tan(30) = 0.5773502691896257Theta = 1.1071487177940904
Met het bovenstaande kunt u nu ook uw eigen wetenschappelijke rekenmachine in java ontwerpen.