Ganzzahlige Division in Java

JavaJavaBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab werden Sie die Ganzzahldivision in Java kennenlernen. Division ist die mathematische Operation, die es uns ermöglicht, eine Größe durch eine andere zu teilen. In Java gibt es verschiedene Möglichkeiten, Ganzzahldivision durchzuführen, und es ist wichtig, die Unterschiede zwischen ihnen zu verstehen.

Einrichten der Umgebung

Öffnen Sie das Terminal und erstellen Sie eine neue Java-Datei mit dem folgenden Befehl:

touch ~/project/IntegerDivision.java

Einfache Ganzzahldivision

In diesem Schritt werden Sie lernen, wie Sie in Java einfache Ganzzahldivision durchführen. Eine einfache Ganzzahldivision ist der Fall, wenn sowohl der Divisor als auch der Dividend Ganzzahlen sind und das Ergebnis ebenfalls eine Ganzzahl ist.

public class IntegerDivision {
    public static void main(String[] args) {
        int a = 25;
        int b = 5;
        int c = a / b;
        System.out.println(a + " / " + b + " = " + c);
    }
}

Hier definieren wir zwei Ganzzahlen a und b und führen die Divisionsoperation mit dem /-Operator durch. Das Ergebnis wird in der Ganzzahl c gespeichert. Schließlich geben wir das Ergebnis mit System.out.println() aus.

Um den Code auszuführen, verwenden Sie folgenden Befehl:

javac IntegerDivision.java && java IntegerDivision

Die Ausgabe sollte lauten:

25 / 5 = 5

Datenverlust bei Ganzzahldivision

In diesem Schritt werden Sie lernen, wie Sie Situationen behandeln, in denen Sie bei der Ganzzahldivision Genauigkeit verlieren können.

public class IntegerDivision {
    public static void main(String[] args) {
        int a = 10;
        int b = 3;
        int c = a / b;
        System.out.println(a + " / " + b + " = " + c);
    }
}

In diesem Fall definieren wir zwei Ganzzahlen a und b, aber wir erhalten ein unterschiedliches Ergebnis, weil wir Genauigkeit verlieren. Das Ergebnis dieser Operation ist nicht 3,3333, sondern 3, da es sich um Ganzzahlen handelt.

Um den Code auszuführen, verwenden Sie denselben Befehl wie in Schritt 2:

javac IntegerDivision.java && java IntegerDivision

Die Ausgabe sollte lauten:

10 / 3 = 3

Division mit dem Double-Datentyp

In diesem Schritt werden Sie lernen, wie Sie Situationen behandeln, in denen Sie die Genauigkeit aufrechterhalten müssen.

public class IntegerDivision {
    public static void main(String[] args) {
        int a = 10;
        int b = 3;
        double c = (double) a / b;
        System.out.println(a + " / " + b + " = " + c);
    }
}

Hier definieren wir zwei Ganzzahlen a und b. Wir ändern jedoch den Datentyp von c von int zu double. Wir casten auch a zu einem Double, um sicherzustellen, dass die Divisionsoperation mit doppelter Genauigkeit durchgeführt wird. Schließlich geben wir das Ergebnis aus.

Um den Code auszuführen, verwenden Sie denselben Befehl wie in Schritt 2:

javac IntegerDivision.java && java IntegerDivision

Die Ausgabe sollte lauten:

10 / 3 = 3.3333333333333335

Division mit dem üblichen Double-Datentyp

In diesem Schritt werden Sie eine andere Möglichkeit lernen, um Situationen zu behandeln, in denen Sie die Genauigkeit aufrechterhalten müssen.

public class IntegerDivision {
    public static void main(String[] args) {
        int a = 10;
        int b = 3;
        double c = a / 3.0;
        System.out.println(a + " / 3.0 = " + c);
    }
}

Hier ändern wir einfach einen der Operanden in einen double, indem wir 3.0 statt 3 verwenden. Dadurch wird sichergestellt, dass a mit doppelter Genauigkeit geteilt wird.

Um den Code auszuführen, verwenden Sie denselben Befehl wie in Schritt 2:

javac IntegerDivision.java && java IntegerDivision

Die Ausgabe sollte lauten:

10 / 3.0 = 3.3333333333333335

Mehrere Divisionen mit dem üblichen Double-Datentyp

In diesem Schritt werden Sie lernen, wie Sie mehrere Divisionen mit doppelter Genauigkeit durchführen.

public class IntegerDivision {
    public static void main(String[] args) {
        int a = 10;
        int b = 3;
        double c = a / 3.0;
        double d = 2.0 / b;
        System.out.println(a + " / 3.0 = " + c);
        System.out.println("2.0 / " + b + " = " + d);
    }
}

Wir definieren zwei double-Variablen c und d und führen zwei Divisionen durch. Wie bereits erwähnt, verwenden wir 3.0, um in der ersten Division die doppelte Genauigkeit sicherzustellen. In der zweiten Division verwenden wir 2.0, um die doppelte Genauigkeit zu gewährleisten.

Um den Code auszuführen, verwenden Sie denselben Befehl wie in Schritt 2:

javac IntegerDivision.java && java IntegerDivision

Die Ausgabe sollte lauten:

10 / 3.0 = 3.3333333333333335
2.0 / 3 = 0.6666666666666666

Divisionszuweisung

In diesem Schritt werden Sie lernen, wie Sie eine Division mit dem Divisionszuweisungsoperator /= durchführen, der eine Kurzschreibweise für x = x / y ist.

public class IntegerDivision {
    public static void main(String[] args) {
        int a = 10;
        int b = 3;
        double c = 2.0;
        c /= b;
        System.out.println("2.0 / " + b + " = " + c);
    }
}

Wir definieren eine int-Variable a, eine int-Variable b und eine double-Variable c. Wir initialisieren c mit 2.0. Dann verwenden wir den Divisionszuweisungsoperator, um c durch b zu teilen. Schließlich geben wir das Ergebnis aus.

Um den Code auszuführen, verwenden Sie denselben Befehl wie in Schritt 2:

javac IntegerDivision.java && java IntegerDivision

Die Ausgabe sollte lauten:

2.0 / 3 = 0.6666666666666666

Ganzzahlige Division mit Modulo-Operator

In diesem Schritt werden Sie über den Modulo-Operator % lernen, der Ihnen den Rest einer Divisionsoperation liefert.

public class IntegerDivision {
    public static void main(String[] args) {
        int a = 10;
        int b = 3;
        int c = a % b;
        System.out.println(a + " % " + b + " = " + c);
    }
}

Wir definieren die int-Variablen a und b und verwenden den Modulo-Operator %, um den Rest der Divisionsoperation zu erhalten. Das Ergebnis wird in der int-Variablen c gespeichert, und wir geben das Ergebnis aus.

Um den Code auszuführen, verwenden Sie denselben Befehl wie in Schritt 2:

javac IntegerDivision.java && java IntegerDivision

Die Ausgabe sollte lauten:

10 % 3 = 1

Division durch Null

In diesem Schritt werden Sie lernen, was passiert, wenn Sie durch Null dividieren.

public class IntegerDivision {
    public static void main(String[] args) {
        int a = 10;
        int b = 0;
        int c = a / b;
        System.out.println(a + " / " + b + " = " + c);
    }
}

Wir definieren zwei int-Variablen a und b und versuchen, a durch b zu teilen. Da die Division durch Null nicht erlaubt ist, wirft Java eine Laufzeitausnahme namens ArithmeticException.

Wenn Sie versuchen, den Code auszuführen, werden Sie eine Fehlermeldung wie diese sehen:

Exception in thread "main" java.lang.ArithmeticException: / by zero
	at IntegerDivision.main(IntegerDivision.java:5)

Beheben der Division durch Null

In diesem Schritt werden Sie lernen, wie Sie Division-durch-Null-Fehler mit bedingten Anweisungen beheben.

public class IntegerDivision {
    public static void main(String[] args) {
        int a = 10;
        int b = 0;
        if (b!= 0) {
            int c = a / b;
            System.out.println(a + " / " + b + " = " + c);
        } else {
            System.out.println("Cannot divide by zero");
        }
    }
}

Hier verwenden wir eine if-Anweisung, um zu überprüfen, ob b nicht gleich Null ist. Wenn b nicht Null ist, führen wir die Divisionsoperation durch und geben das Ergebnis aus. Andernfalls geben wir eine Fehlermeldung aus.

Um den Code auszuführen, verwenden Sie denselben Befehl wie in Schritt 2:

javac IntegerDivision.java && java IntegerDivision

Die Ausgabe sollte lauten:

Cannot divide by zero

Zusammenfassung

In diesem Lab haben Sie verschiedene Möglichkeiten der Durchführung von ganzzahligen Divisionen in Java kennengelernt. Sie haben gelernt, wie Sie Situationen behandeln, in denen Sie Genauigkeit verlieren können, wie Sie Divisionen mit double-Genauigkeit durchführen und wie Sie den Modulo-Operator verwenden. Sie haben auch gelernt, wie Sie Division-durch-Null-Fehler mit bedingten Anweisungen behandeln.