diff --git a/PrimitiveDatentypen.java b/PrimitiveDatentypen.java index d329268..d32ce7e 100644 --- a/PrimitiveDatentypen.java +++ b/PrimitiveDatentypen.java @@ -19,7 +19,7 @@ public class PrimitiveDatentypen { // Befehl für eine Textausgabe auf dem Bildschirm: System.out.println("Hallo Welt"); - // Genug mit dem Into... + // Genug mit dem Intro... //----------------------------------------------------------------------------- // In Java gibt es Variablen, um Daten temporär zu speichern. Diese bekommen immer einen festen Typen zugewiesen, @@ -69,6 +69,31 @@ public class PrimitiveDatentypen { // / Division // + Addition // - Subtraktion + + // Beispiele: + int ganzzahlAddition = 1 + 1; + + int ganzzahlMultiplikation = 2 * 2; + System.out.println("Ergebnisse: Addition: " + ganzzahlAddition + " Multiplikation: " + ganzzahlMultiplikation); + + // Obacht! Ganzzahl Division kann schief laufen. Bsp.: + + // Rechne 2 / 4 ==> Ergebnis ist keine Ganzzahl. + int obachtDivision = ganzzahlAddition / ganzzahlMultiplikation; + System.out.println("Erwarte Zahl 1/2, Ergebnis: " + obachtDivision); + + // Begründung: Beide Zahlen sind Integer, weshalb eine Integer-Division ausgeführt wird. + // Dabei wird das Ergebnis ganz normal berechnet, jedoch alle Zahlen hinter dem Komma abgeschnitten. + // Bspw. würde 1.9 nicht zu 2 gerundet werden, sondern die 9 abgeschnitten, also Ergebnis 1. + + // Wie kann das behoben werden? + // Durch Casting! + // Casting bedeutet gießen auf Deutsch. Das heißt man "gießt" einen Datentypen in einen anderen. + // In die größer Richtung (kleiner nach größer, also bspw. int --> float --> double) geht das auch ohne Verluste. + // Die andere Richtung geht auch, jedoch mit Informationsverlust. + + double division = ganzzahlAddition / (double)ganzzahlMultiplikation; + System.out.println("Ergebnis Division: " + division); } }