02.10 Rechnen mit verschiedenen Datentypen
Rechnet man mit Datentypen, so wird nicht immer der Typ zurückgegeben, mit dem man gerechnet hat. Eine kleine Auflistung:
byte + byte = int short + short = int int + int = int long + long = long float + float = float double + double = double
Wird mit zwei unterschiedlichen Datentypen gerechnet, erhält man als Rückgabewert immer den Datentyp, mit der höheren Genauigkeit. Ein paar Beispiele:
byte + short = int; byte + long = long; int + float = float; long + double = double;
Anders sieht es aber aus, wenn eine verkürzte Zuweisung gegeben ist. Hierbei wird das Ergebnis immer in den Datentyp vor dem Gleichheitszeichen konvertiert.
byte b = 5; double d = 34.543; b = b * d; // Geht nicht b *= d; // Geht
Es besteht für Sie allerdings die Möglichkeit, den Compiler explizit anzuweisen, den Rückgabewert in einen bestimmten Datentyp zu konvertieren. Dazu casten
Erstmals erwähnt im Kapitel über primitive Datentypen, eine detaillierte Erklärung folgt im Vererbungs-Kapitel
Sie einfach das Ergebnis in den gewünschten Typ.
byte b = 5; double d = 34.543; b = (byte)(b * d); // Geht
One Reply to “02.10 Rechnen mit verschiedenen Datentypen”