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”

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.