字节(byte
)数据类型是8
位有符号Java原始整数数据类型。其范围是-128
至127
(-2^7
至2^7-1
)。
字节类型是Java中可用的最小整数数据类型。当程序使用其值在-128
到127
范围内的大量变量或在文件或网络中处理二进制数据时,使用字节变量。
字节类型没有字节字面量。可以将任何在字节范围内的int
字面量分配给一个字节变量。
例如,
byte b1 = 125; byte b2 = -11;
如果为字节变量分配一个int
字面量,并且该值超出了字节数据类型的范围,则Java会产生编译器错误。
只能在-128
和127
之间分配一个int
字面量到一个字节变量。但是可以将存储在一个int变量中的值(其范围为-128
到127
)分配给一个字节变量。在Java中,不能将较高范围数据类型的变量的值分配给较低范围数据类型的变量,因为在进行这种赋值时可能会损失精度。
若要真的想从int到字节类型赋值,必须要转换值。num1
到b1
的分配可以改写如下:
int num1 = 1; byte b1 = (byte)num1; // Ok
Java有一个 Byte
类,它定义了两个常量来表示字节数据类型的最大和最小值,分别是:Byte.MAX_VALUE
和Byte.MIN_VALUE
。
byte max = Byte.MAX_VALUE; byte min = Byte.MIN_VALUE;