Bereichsüberschreitung

T

TJS

Neues Mitglied
Hallo,

ich bin ganz neu im Forum und lerne auch gerade ganz neu Java.
Ich stelle mir gerade eine Frage, bei der ich nicht weiterkomme und hoffe auf eure Hilfe!

Folgendes Problem:
byte aByte = 64, bByte = 96;

aByte += bByte; // gibt mir das Ergebnis -96, wegen der Breichsüberschreitung
aByte = aByte + bByte; // gibt mir als Fehlermeldung cannot convert from int to byte

Eigentlich sind es ja die gleichen Rechnungen. Ich verstehe, dass ein Byte nur von -128 bis 127 Zahlen darstellen kann.
Aber wieso wird aByte += bByte ausgeführt und bei dem anderen kommt eine Fehlermeldung?

Vielen Dank für die Hilfe!
 
D

DrPils

Mitglied
aByte + bByte gibt dir eine int zurück.
Deswegen musst du das casten
aByte = (byte) (aByte + bByte);

Der += Operator castet es automatisch.
 
Anzeige

Neue Themen


Oben