Java Academy · Lektion

Grundlagen der Math-Klasse

Verwenden Sie Math.abs, Math.pow, Math.sqrt, Math.random und weitere häufig genutzte Math-Methoden.

Lektion 1 von 413 Schritte

Grundlagen der Math-Klasse ist eine kostenlose Java Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Java Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Java Academy-Kurs umfasst insgesamt 4 Lektionen.

Die Math-Klasse

Die Klasse java.lang.Math stellt statische Hilfsmethoden für gängige mathematische Operationen bereit. Sie ist immer verfügbar – ein Import ist nicht erforderlich.

Absolutwert und Vorzeichen

Math.abs() liefert den Absolutwert (nicht negativ). Math.signum() liefert abhängig vom Vorzeichen -1.0, 0.0 oder 1.0.

System.out.println(Math.abs(-42));      // 42
System.out.println(Math.abs(3.14));     // 3.14
System.out.println(Math.signum(-5.0));  // -1.0
System.out.println(Math.signum(0.0));   //  0.0
System.out.println(Math.signum(7.0));   //  1.0

Potenz, Quadratwurzel und Kubikwurzel

Verwenden Sie Math.pow(base, exp) für Potenzen, Math.sqrt() für Quadratwurzeln und Math.cbrt() für Kubikwurzeln.

System.out.println(Math.pow(2, 10));  // 1024.0
System.out.println(Math.sqrt(144));   // 12.0
System.out.println(Math.cbrt(27));    // 3.0

// Hypotenuse of a right triangle (a=3, b=4)
double hyp = Math.sqrt(Math.pow(3, 2) + Math.pow(4, 2));
System.out.println(hyp); // 5.0

Minimum, Maximum und Begrenzung

Math.min() und Math.max() liefern den kleineren beziehungsweise größeren von zwei Werten. Kombinieren Sie sie, um eine Begrenzung zu implementieren, die einen Wert innerhalb eines Bereichs hält.

int a = 10, b = 20;
System.out.println(Math.min(a, b)); // 10
System.out.println(Math.max(a, b)); // 20

// Clamp value between 0 and 100
int clamp(int value, int min, int max) {
    return Math.max(min, Math.min(value, max));
}
System.out.println(clamp(150, 0, 100)); // 100
System.out.println(clamp(-5,  0, 100)); // 0
System.out.println(clamp(75,  0, 100)); // 75

Abrunden, Aufrunden und Runden

Math.floor() rundet ab, Math.ceil() rundet auf und Math.round() rundet auf die nächste Ganzzahl (kaufmännisch aufrundend bei .5).

double price = 9.3;
System.out.println(Math.floor(price));  // 9.0
System.out.println(Math.ceil(price));   // 10.0
System.out.println(Math.round(price));  // 9

double shipping = 3.5;
System.out.println(Math.round(shipping)); // 4 (half-up)

// Round to 2 decimal places
double tax = 7.5678;
double rounded = Math.round(tax * 100.0) / 100.0;
System.out.println(rounded); // 7.57

Logarithmen und Exponentialfunktionen

Math.log() berechnet den natürlichen Logarithmus (Basis e), Math.log10() den Logarithmus zur Basis 10 und Math.exp() e^x.

System.out.println(Math.log(Math.E));   // 1.0
System.out.println(Math.log10(1000));   // 3.0
System.out.println(Math.exp(1));        // 2.718281828...

// Change of base: log2(8)
double log2 = Math.log(8) / Math.log(2);
System.out.println(log2); // 3.0

// Compound interest: P * e^(r*t)
double principal = 1000, rate = 0.05, years = 10;
double amount = principal * Math.exp(rate * years);
System.out.printf("Amount: %.2f%n", amount); // 1648.72

Trigonometrische Methoden

Math stellt trigonometrische Funktionen bereit, die Winkel im Bogenmaß erwarten. Verwenden Sie Math.toRadians(), um Grad in Bogenmaß umzuwandeln.

double angle = Math.toRadians(45);
System.out.printf("sin(45): %.4f%n", Math.sin(angle)); // 0.7071
System.out.printf("cos(45): %.4f%n", Math.cos(angle)); // 0.7071
System.out.printf("tan(45): %.4f%n", Math.tan(angle)); // 1.0000

// Distance between two GPS coordinates (simplified)
double lat1 = Math.toRadians(40.7128);
double lat2 = Math.toRadians(34.0522);
double deltaLat = lat2 - lat1;
System.out.printf("Delta lat (rad): %.4f%n", deltaLat);

Zufallszahlen

Math.random() liefert einen double im Bereich [0.0, 1.0). Multiplizieren und casten Sie den Wert, um Ganzzahlen in einem bestimmten Bereich zu erhalten. Für bessere Zufallswerte sollten Sie java.util.Random bevorzugen.

// Random double [0.0, 1.0)
double rand = Math.random();

// Random int [min, max] inclusive
int min = 1, max = 6;
int dice = (int) (Math.random() * (max - min + 1)) + min;
System.out.println("Dice roll: " + dice); // 1–6

// Prefer java.util.Random for more features
import java.util.Random;
Random rng = new Random();
int secureRoll = rng.nextInt(6) + 1; // cleaner API
System.out.println("Secure roll: " + secureRoll);

Konstanten: PI und E

Math.PI und Math.E sind double-Konstanten für π und die Eulersche Zahl e. Verwenden Sie sie für geometrische und finanzielle Berechnungen.

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

// Circle area and circumference
double radius = 7.0;
double area = Math.PI * Math.pow(radius, 2);
double circumference = 2 * Math.PI * radius;

System.out.printf("Area: %.2f%n", area);           // 153.94
System.out.printf("Circumference: %.2f%n", circumference); // 43.98

Math.floorDiv und Math.floorMod

Math.floorDiv() und Math.floorMod() verarbeiten negative Zahlen konsistent – im Gegensatz zu den Operatoren / und %, die bei negativen Werten überraschende Ergebnisse liefern können.

// Regular % can be negative with negative dividend
System.out.println(-7 % 3);           // -1 (may surprise you)
System.out.println(Math.floorMod(-7, 3)); // 2  (always non-negative)

// Floor division rounds toward negative infinity
System.out.println(-7 / 3);              // -2 (truncates toward zero)
System.out.println(Math.floorDiv(-7, 3)); // -3 (floors down)

// Use floorMod for cyclic calculations like days of week
int day = Math.floorMod(-1, 7); // Sunday (6), not -1
System.out.println(day); // 6

Praxis: Entfernung und Physik

Anwendung von Math-Methoden auf ein physikalisches Problem: Berechnung der Wurfweite mithilfe von Trigonometrie und Quadratwurzeln.

// Projectile range: R = v^2 * sin(2*angle) / g
double velocity = 50.0;   // m/s
double angleDeg = 45.0;   // degrees
double g = 9.81;          // m/s^2

double angleRad = Math.toRadians(angleDeg);
double range = Math.pow(velocity, 2) * Math.sin(2 * angleRad) / g;

System.out.printf("Projectile range: %.1f m%n", range); // 254.8 m

Schnelltest

Welche Ausgabe erzeugt Math.floorMod(-7, 3)?

Zusammenfassung: Die Math-Klasse

Die wichtigsten Erkenntnisse:

  • Math.abs, Math.min und Math.max für grundlegende Vergleiche
  • Math.pow, Math.sqrt und Math.cbrt für Potenzen und Wurzeln
  • Math.floor, Math.ceil und Math.round zum Runden
  • Math.log, Math.log10 und Math.exp für Logarithmen und Exponentialfunktionen
  • Math.sin, Math.cos und Math.tan verwenden Bogenmaß – konvertieren Sie mit Math.toRadians
  • Math.floorMod verarbeitet negative Zahlen bei zyklischen Berechnungen zuverlässig
  • Math.PI und Math.E sind integrierte Konstanten
Kostenlos starten

Lerne Java mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
104
Lektionen
374

Häufig gestellte Fragen

Ist die Lektion „Grundlagen der Math-Klasse“ kostenlos?

Ja — der vollständige Text von „Grundlagen der Math-Klasse“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Java Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Java Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Grundlagen der Math-Klasse“?

Verwenden Sie Math.abs, Math.pow, Math.sqrt, Math.random und weitere häufig genutzte Math-Methoden. Du übst Java Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Java Academy zu starten?

Keine Vorkenntnisse erforderlich. Java Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „Grundlagen der Math-Klasse“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Java Academy-Lektion Code schreiben und ausführen?

Ja. Jede Java Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Grundlagen der Math-Klasse
  2. Ganzzahlarithmetik und Überlauf
  3. BigDecimal für Finanzberechnungen
  4. NumberFormat und printf
← Zurück zu Java Academy