Add cast
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user