Jetzt anmelden...

Login
Passwort
Registrieren

Java Tutorial #21

Die Klasse Math in Java

Für grundlegende Rechenoperationen stellt Java die Klasse Math zur Verfügung. Vom Runden über das Wurzelziehen bis zu Winkelfunktionen ist alles dabei. Math befindet sich im Paket java.lang und muss daher nicht importiert werden.

Kommentare [0]

Stefan 05.08.2019

Infos zum Artikel

Kategorie Java
Autor Stefan
Datum 05.08.2019

Thema in Kurzform

// Beispiele:
System.out.println(Math.PI); // 3.141592
System.out.println(Math.round(1.49)); // 1
  • Die Klasse Math bietet Methoden für einige numerisch-mathematische Operationen an.
  • Math wird nicht instanziiert. Alle Methoden werden statisch verwendet.

Konstanten von Math

Math hat zwei statische Konstanten. Einmal für die eulersche Zahl und einmal für PI:

System.out.println(Math.E); // 2.718281828459045
System.out.println(Math.PI); // 3.141592653589793

Methoden der Klasse Math

Die Klasse Math wird nicht instanziiert. Stattdessen können wir die vielen nützlichen statischen Methoden der Klasse einsetzen. Einige stellen wir euch nun vor.

abs()

static double abs(double a)
static float abs(float a)
static int abs(int a)
static long abs(long a)

Die Methode abs() liefert den absoluten Wert des übergebenen Arguments zurück. Ein absoluter Wert ist der Abstand einer Zahl zu Null bzw. eine Zahl ohne Vorzeichen

double d = Math.abs(-7.3);
float f = Math.abs(-4.3f);
int i = Math.abs(-2);
long l = Math.abs(-8432423493L);

System.out.println(d); // 7.3
System.out.println(f); // 4.3
System.out.println(i); // 2
System.out.println(l); // 8432423493

floor()

static double floor(double a)

Die Methode floor() gibt den größten abgerundeten double Wert zurück, der kleiner oder gleich der gegebenen Zahl ist.

double d = 4.9;
double d2 = -2.1;

System.out.println(Math.floor(d)); // 4.0
System.out.println(Math.floor(d2)); // 3.0

max()

static double max(double a, double b)
static float max(float a, float b)
static int max(int a, int b)
static long max(long a, long b)

Gibt den größeren von zwei Werten zurück.

double d = Math.max(2.5, 2.6);
System.out.println(d); // 2.6

min()

static double min(double a, double b)
static float min(float a, float b)
static int min(int a, int b)
static long min(long a, long b)

Gibt den kleineren Wert zurück.

double d = Math.min(2.5, 2.6);
System.out.println(d); // 2.5

negateExact()

static int negateExact(int a)
static long negateExact(long a)

Liefert den gegenteiligen Wert des Arguments zurück.

int i = 3;
int iNegativ = Math.negateExact(i);

System.out.println(iNegativ); // -3

pow()

static double pow(double a, double b)

Gibt den Potenzwert aus der Basis a und dem Exponent b zurück.

double basis = 3;
double exponent = 2;
double potenz = Math.pow(basis, exponent);

System.out.println(potenz); // 9.0

random()

static double random()

Eine sehr oft gebrauchte Methode der Math-Klasse - gibt einen zufälligen double-Wert zwischen 0.0 und kleiner als 1.0 zurück:

double zufallszahl = Math.random();
System.out.println(zufallszahl); // Zufall!

Mögliche Zufallszahlen könnten sein:

0.8137560424631956
0.2867267938894206
0.30543385225376996
usw.

Mit solchen Zufallszahlen kann man oftmals nicht wirklich arbeiten. Um eine ganzzahligen Zufallszahl zwischen 1 und 10 geliefert zu bekommen, verwenden wir folgenden Code:

int zufall = (int) (Math.random() * 10) + 1;

Mögliche Ergebnisse könnten sein:

1
7
2
usw.

round()

static double round(double a)

Rundet einen double-Wert zu einer Ganzzahl auf oder ab und gibt den gerundeten Wert zurück.

double d = 3.4;
double d2 = 3.5;
System.out.println(Math.round(d)); // 3
System.out.println(Math.round(d2)); // 4

sqrt()

static double sqrt(double a)

Diese Methode gibt uns die Quadratwurzel des übergebenen Arguments zurück.

double d = 9;
double wurzel = Math.sqrt(d);

System.out.println(wurzel); // 3.0

Übungen

einfach

Ermittle mit einer geeigneten Math-Methode die Wurzel aus 64 und potenziere das Ergebnis anschließend mit 3.

Lösung ein-/ausblenden

mittel

Bilde aus drei Noten 3.25, 1.25, 2 den Durchschnitt. Runde wsdas Ergebnis anschließend auf eine Ganzzahl.

Lösung ein-/ausblenden

schwer

Entwickle eine Java-Methode (in einer beliebigen Klasse) names wuerfelspiel().

Deklariere in der Methode eine int-Variable namens punkte und initialisiere diese mit 0.

Die Methode hat zwei int-Parameter: Der erste Parameter steht für eine vom Nutzer gewählten Zahl zwischen 1 und 6.

In der Methode soll es eine Schleife geben. Der zweite Parameter legt die Anzahl der Schleifendurchläufe fest.

In jedem Schleifendurchlauf wird aufs Neue eine Zufallszahl zwischen 1 und 6 erzeugt. Wenn die jeweilige Zufallszahl dem Wert des ersten Parameters entspricht, gibt es einen Punkt.

Gib am Ende der Methode die Gesamtpunktzahl am Bildschirm aus.

Lösung ein-/ausblenden

Kommentar schreiben

Nur angemeldete und aktivierte Benutzer können kommentieren.

Alle Kommentare

Es gibt bislang noch keine Kommentare zu diesem Thema.

Scope von Variablen

Wie lange lebt eine Variable eigentlich?

Die Klasse Object

Erfahren Sie alles über die Mutter aller Klassen

Verzweigungen in Java

Eine zentrale Notwendigkeit der Programmierung sind Verzweigungen.

FALCONBYTE.NET

Handmade with 🖤️

© 2018, 2019 Stefan E. Heller

Impressum | Datenschutz

facebook programmieren lernen twitter programmieren lernen youtube programmieren lernen