The byte
data type in Java is a signed integer based on the two’s complement 8-bit mechanism. It is different from the int
data type that uses 4 bytes (i.e., 32-bit to store a number). The values that can be stored in a single byte are -128 to 127. byte
data types are primitive.
Two variables of type byte
are created and their values are declared.
Both variables are then added and stored in another byte
type variable.
Additions are always typecasted.
The following code explains this process better:
class example {public static void main(String[] argv){byte a = 3;byte b = 8;byte result;result = (byte) (a + b); //addition typecastedSystem.out.println(result);}}
Byte overflow is a problem that needs to be understood when dealing with bytes
. If the result is greater than 127 or less than -128, then the byte
variable overflows (i.e., it cannot contain the resulting value in a single byte). The remainder result is then displayed instead of the original result.
For example, 124 + 76 = 200. As we know, 200 cannot be stored in a single byte, so the resulting variable will now store -56 instead of 200. This happens because 200 - 256 (capacity of two bytes) is equal to - 56. Try this in the code above!