Normal
Java implementiert Integer-Division, also "integer / integer = integer". Wenn du mit Float/Double rechnen willst, muss mindests einer der Operatoren ein "float"/"double" sein, "float / integer = float". Oder du verwendest direkt BigDecimal fuer arbitraere Genauigkeit.Also dabei geht es auch darum wie Datentypen gewaehlt werden bei Operationen. Wenn du eine Operation mit nur "int"s hast, bekommst du einen "int" heraus. Wenn du einen "float" hinzufuegst, bekommst du einen "float" als Ergebnis, und wenn ein "double" dabei ist, ist es immer "double". Also Java "vergroeszert" sich nur auf den naechsten Datentypen wenn es notwendig ist. "Verkleinern" hingegen funktioniert nur mit einem Cast, also wenn du "int / float" hast, und du willst "int" als Ergebnis, musst du entweder den Operanten oder as Ergebnis selbst auf "int" casten.
Java implementiert Integer-Division, also "integer / integer = integer". Wenn du mit Float/Double rechnen willst, muss mindests einer der Operatoren ein "float"/"double" sein, "float / integer = float". Oder du verwendest direkt BigDecimal fuer arbitraere Genauigkeit.
Also dabei geht es auch darum wie Datentypen gewaehlt werden bei Operationen. Wenn du eine Operation mit nur "int"s hast, bekommst du einen "int" heraus. Wenn du einen "float" hinzufuegst, bekommst du einen "float" als Ergebnis, und wenn ein "double" dabei ist, ist es immer "double". Also Java "vergroeszert" sich nur auf den naechsten Datentypen wenn es notwendig ist. "Verkleinern" hingegen funktioniert nur mit einem Cast, also wenn du "int / float" hast, und du willst "int" als Ergebnis, musst du entweder den Operanten oder as Ergebnis selbst auf "int" casten.