0Pricing
Java Academy · Lektion

BigInteger für riesige Zahlen

Ganzzahlen mit beliebiger Präzision

BigInteger für riesige Zahlen ist eine kostenlose Java Academy-Lektion auf CoddyKit. Dies ist Lektion 4 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.

Über long hinaus

Der primitive Datentyp long kann Werte bis zu etwa 9,2 Trillionen speichern. Wenn Sie größere Ganzzahlen benötigen, bietet Java BigInteger aus dem Paket java.math; dieser Datentyp hat keine feste Obergrenze.

Wenn long überläuft

Wird Long.MAX_VALUE überschritten, läuft der Wert unbemerkt über und wird zu einer negativen Zahl. Diese Verfälschung ist eine klassische Fehlerquelle.

public class Main {
    public static void main(String[] args) {
        long max = Long.MAX_VALUE;
        System.out.println(max);
        System.out.println(max + 1);
    }
}

Ein BigInteger erstellen

Erstellen Sie ein BigInteger aus einer Ziffernfolge. Es gibt keine Längenbegrenzung, sodass Sie Zahlen schreiben können, die viel größer als jeder primitive Datentyp sind.

import java.math.BigInteger;

public class Main {
    public static void main(String[] args) {
        BigInteger huge = new BigInteger("123456789012345678901234567890");
        System.out.println(huge);
    }
}

Aus einem long mit valueOf

Wenn Ihr Ausgangswert in ein long passt, ist BigInteger.valueOf eine praktische Factory-Methode.

import java.math.BigInteger;

public class Main {
    public static void main(String[] args) {
        BigInteger n = BigInteger.valueOf(1000000);
        System.out.println(n);
    }
}

Unveränderliche Arithmetik

Wie BigDecimal ist auch BigInteger unveränderlich. add, subtract und multiply geben neue Objekte zurück, die Sie speichern müssen.

import java.math.BigInteger;

public class Main {
    public static void main(String[] args) {
        BigInteger a = new BigInteger("99999999999999999999");
        BigInteger b = BigInteger.valueOf(1);
        System.out.println(a.add(b));
    }
}

Große Zahlen multiplizieren

Eine Multiplikation, bei der ein long überlaufen würde, funktioniert mit BigInteger problemlos.

import java.math.BigInteger;

public class Main {
    public static void main(String[] args) {
        BigInteger a = new BigInteger("10000000000");
        BigInteger b = new BigInteger("10000000000");
        System.out.println(a.multiply(b));
    }
}

Eine Fakultät berechnen

Fakultäten wachsen sehr schnell. Selbst 30 Fakultät läuft bei einem long über, aber BigInteger verarbeitet diesen Wert problemlos.

import java.math.BigInteger;

public class Main {
    public static void main(String[] args) {
        BigInteger result = BigInteger.ONE;
        for (int i = 1; i <= 30; i++) {
            result = result.multiply(BigInteger.valueOf(i));
        }
        System.out.println(result);
    }
}

Potenz und Modulo

pow potenziert einen Wert mit einem ganzzahligen Exponenten, und mod liefert den Rest. Beide Methoden werden häufig in der Kryptografie verwendet.

import java.math.BigInteger;

public class Main {
    public static void main(String[] args) {
        BigInteger base = BigInteger.valueOf(2);
        System.out.println(base.pow(64));
        System.out.println(base.pow(10).mod(BigInteger.valueOf(7)));
    }
}

Werte vergleichen

Verwenden Sie compareTo, um zwei BigInteger-Werte zu ordnen. Die Methode gibt eine negative Zahl, null oder eine positive Zahl zurück.

import java.math.BigInteger;

public class Main {
    public static void main(String[] args) {
        BigInteger a = new BigInteger("500");
        BigInteger b = new BigInteger("1000");
        System.out.println(a.compareTo(b));
    }
}

Praktische Konstanten

BigInteger stellt ZERO, ONE, TWO und TEN bereit. Verwenden Sie diese als Ausgangswerte für Akkumulatoren oder in Schleifen.

import java.math.BigInteger;

public class Main {
    public static void main(String[] args) {
        BigInteger sum = BigInteger.ZERO;
        sum = sum.add(BigInteger.TEN).add(BigInteger.ONE);
        System.out.println(sum);
    }
}

Wann Sie es verwenden sollten

Verwenden Sie BigInteger für Fakultäten, sehr große Zähler, kryptografische Schlüssel und überall dort, wo ein Ergebnis long überschreiten könnte. Für gewöhnliche Zählungen sollten Sie bei primitiven Datentypen bleiben, da diese deutlich schneller sind.

Kurzer Test

Testen Sie Ihr Verständnis von BigInteger.

Zusammenfassung

Sie haben gelernt, BigInteger zu verwenden:

  • long läuft unbemerkt über, aber BigInteger hat keine feste Begrenzung
  • Erstellen Sie es aus einer Zeichenkette oder mit valueOf
  • Es ist unveränderlich. Speichern Sie daher das Ergebnis jeder Operation
  • add, multiply, pow und mod decken häufige Berechnungen ab
  • Verwenden Sie es für Fakultäten, Kryptografie und jeden Wert, der größer als long ist

Häufig gestellte Fragen

Ist die Lektion „BigInteger für riesige Zahlen“ kostenlos?

Ja — der vollständige Text von „BigInteger für riesige Zahlen“ 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 „BigInteger für riesige Zahlen“?

Ganzzahlen mit beliebiger Präzision 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 4 von 4.

Wie lange dauert die Lektion „BigInteger für riesige Zahlen“?

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. Warum nicht double für Geldbeträge?
  2. Mit BigDecimal arbeiten
  3. Rundung und Scale
  4. BigInteger für riesige Zahlen
← Zurück zu Java Academy