In diesem Artikel geben wir einen kurzen Überblick über die Math-Klasse in Java. Lassen Sie uns über die Methoden dieser Klasse und deren Verwendung sprechen. Die Math-Klasse befindet sich im Paket java.lang und stellt eine Reihe statischer Methoden zur Durchführung verschiedener mathematischer Berechnungen bereit. Im Folgenden finden Sie Beispiele für Berechnungen, für die die Mathematikklasse nützlich sein kann:
- Berechnung absoluter Werte (Modulowerte)
- Berechnung der Werte trigonometrischer Funktionen (Sinus, Cosinus usw.)
- Erhöhung in verschiedenen Graden
- Extraktion von Wurzeln in unterschiedlichem Ausmaß
- Zufallszahlengenerierung
- Rundung
- Usw.
- statische Doppel-Bauchmuskeln (Doppel-A)
- statische float abs(float a)
- static int abs(int a)
- statische lange Bauchmuskeln (langes 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
}
Berechnung der Werte trigonometrischer Funktionen
Mit der Mathematikklasse können Sie verschiedene trigonometrische Funktionen berechnen – Sinus, Kosinus, Tangens usw. Eine vollständige Liste der Methoden finden Sie auf der offiziellen Dokumentationswebsite . Nachfolgend finden Sie eine Liste dieser Methoden:- statische Doppelsünde (Doppel a)
- statisches Doppel-Cos(Doppel-A)
- statisches Double Tan (Double A)
- statisches Doppel-Asin (Doppel-A)
- statisches Doppel-Acos (Doppel-A)
- statisches Doppel-Atan (Doppel-A)
- static double toDegrees(double angrad)
- statisches Double toRadians(double 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)));
}
Das Programm gibt Folgendes aus:
0.0
0.49999999999999994
1.0
1.0
0.8660254037844387
6.123233995736766E-17
Was nicht ganz mit den Sinus- und Cosinustabellen übereinstimmt, teilweise aufgrund von Fehlern bei der Umrechnung von Grad in Bogenmaß.
Potenzierung
Um eine Zahl zu potenzieren, stellt die Math-Klasse eine pow-Methode bereit, die die folgende Signatur hat:static double pow(double a, double b)
Diese Methode erhöht den Parameter „a“ auf die Potenz „b“. Beispiele:
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
}
Wurzelextraktion
Die Math-Klasse stellt Methoden zum Ziehen von Quadrat- und Kubikwurzeln bereit. Für dieses Verfahren sind folgende Methoden verantwortlich:- statisches doppeltes Quadrat (doppeltes a)
- statisches Doppel-Cbrt (Doppel-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
}
Zufallszahlengenerierung
Um Zufallszahlen zu erzeugen, stellt die Math-Klasse die Zufallsmethode bereit. Diese Methode generiert eine zufällige positive reelle (doppelte) Zahl im Bereich von 0,0 bis 1,0. Die Methodensignatur sieht folgendermaßen aus:public static double random()
Schauen wir uns Beispiele an:
public static void main(String[] args) {
for (int i = 0; i < 5; i++) {
System.out.println(Math.random());
}
}
Nach Ausführung der Hauptmethode wurde auf der Konsole Folgendes angezeigt:
0.37057465028778513
0.2516253742011597
0.9315649439611121
0.6346725713527239
0.7442959932755443
Mit ein wenig Manipulation können Sie die Zufallsmethode der Math-Klasse verwenden, um ganzzahlige Zufallszahlen zu erhalten, die in einem bestimmten Bereich liegen. Hier ist ein Beispiel für eine Funktion, die zwei Argumente min und max akzeptiert und eine zufällige Ganzzahl zurückgibt, die im Bereich von min (einschließlich) bis max (einschließlich) liegt:
static int randomInARange(int min, int max) {
return (int) (Math.random() * ((max - min) + 1)) + min;
}
Schreiben wir eine Main-Methode, in der wir die randomInARange-Methode testen:
public class MathExample {
public static void main(String[] args) {
// Карта, в которой мы будем хранить количество выпадений Wieого-то числа
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);
}
}
// Выведем на экран содержимое карты в формате ключ=[Bedeutung]
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;
}
}
Nach dem Ausführen der Hauptmethode könnte die Ausgabe so aussehen:
-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
Rundung
Eines der Werkzeuge zum Runden von Zahlen in Java sind die Methoden der Math-Klasse. Genauer gesagt, die Rund-, Decken- und Bodenmethoden:- statische lange Runde (Doppel-A)
- static int runde(float a)
- statischer Doppelboden (Doppel A)
- statische Doppeldecke (doppelt 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
}
Abschluss
In diesem Artikel haben wir einen oberflächlichen Blick auf den Mathematikunterricht geworfen. Wir haben uns angeschaut, wie Sie mit dieser Klasse Folgendes erreichen können:- Werte modulo berechnen;
- Werte trigonometrischer Funktionen berechnen;
- Erhöhen Sie Zahlen zu Potenzen;
- Extrahieren Sie Quadrat- und Kubikwurzeln;
- Zufallszahlen generieren;
- Runde Zahlen.
GO TO FULL VERSION