Was ist eine ganzzahlige Division in Java?
Die Division in Java erfolgt normalerweise wie die reguläre Division in der Mathematik oder im echten Leben. Der Rest wird jedoch einfach verworfen. Wenn Sie beispielsweise 9 durch 2 dividieren, ist der Quotient 4 und der Rest ist 1.
Beispiel 1 [Rest ist 0]
Die Ganzzahldivision in Java funktioniert perfekt für alle Fälle, in denen der Divisor den Dividenden vollständig teilt (Ganzzahl dividiert durch x Ganzzahl). Die Antwort ist eine ganze Zahl und der Integer-Datentyp kann sie ohne Überlauf aufnehmen. Somit kommt es zu keinem Datenverlust. Schauen Sie sich zum Beispiel den folgenden Snippet an.public class IntegerDivision {
public static void main(String[] args) {
int dividend = 100;
int divisor = 5;
int quotient = dividend / divisor;
//Dividend completely divides the divisor
System.out.println(dividend + " / " + divisor + " = " + quotient);
dividend = 143;
divisor = 11;
quotient = dividend / divisor;
//Dividend completely divides the divisor
System.out.println(dividend + " / " + divisor + " = " + quotient);
}
}
Ausgang
100 / 5 = 20 143 / 11 = 13
Beispiel 2 [Rest ist nicht 0]
Für alle Divisionsfälle, bei denen der Rest nicht 0 ist, wird das Endergebnis auf die größte teilbare ganze Zahl (9/2 = 4) reduziert. Dies wird im kommenden Beispiel gezeigt. Es kann vorkommen, dass Sie den tatsächlichen Quotienten im Dezimalformat benötigen. In diesem Fall können Sie den Datentyp float oder double verwenden. Wenn Sie den Quotienten jedoch auf den nächsten ganzzahligen Wert runden möchten, können Sie wie folgt vorgehen.public class IntegerDivision {
public static void main(String[] args) {
int dividend = 9;
int divisor = 2;
int quotient = dividend / divisor;
// Case I - Dividend does not divide the divisor completely
// The quotient is chopped / truncated
System.out.print("Integer division \t\t" );
System.out.println(dividend + " / " + divisor + " = " + quotient);
// Case II - Mathematical or real life division
// Use float or double data type to get the actual quotient
double actualQuotient = (double)dividend / divisor;
System.out.print("Mathematics division \t\t" );
System.out.println((double)dividend + " / " + divisor + " = " + actualQuotient);
// Case III - Integer Division with rounding off
// the quotient to the closest integer
long roundedQuotient = Math.round((double)dividend / divisor);
System.out.print("Round off int division \t\t" );
System.out.println((double)dividend + " / " + divisor + " = " + roundedQuotient);
}
}
Ausgang
Ganzzahldivision 9 / 2 = 4 Mathematikdivision 9,0 / 2 = 4,5 Integerdivision abrunden 9,0 / 2 = 5
Erläuterung
Fall I und Fall II sind selbsterklärend. Für Fall III können Sie es in den folgenden Schritten aufschlüsseln.-
Zuerst müssen Sie die Dividende in eine doppelte Dividende umwandeln.
-
Führen Sie die reguläre Java-Int-Division durch.
-
Runden Sie den Quotienten mit der Methode Math.round() ab .
-
Verwenden Sie den Datentyp long, um den gerundeten Quotienten zu speichern.
-
Los geht's! Sie haben Ihre gewünschte Ausgabe als Quotient.
GO TO FULL VERSION