在Java中,byte
类型是基础数据类型之一,主要用于处理二进制数据和节省内存空间。
一、基本特性
- 内存占用
-
- 占用 1字节(8位) 的存储空间
- 取值范围:-128到 127
- 默认值:
- 二进制表示
-
- 采用**补码**形式存储
- 最高位为符号位(0正1负)
二、声明与初始化
1. 直接赋值
byte a = 100; // 合法(在取值范围内)
byte b = -128; // 合法
byte c = 200; // 编译错误!超出范围
byte d = (byte) 200; // 强制转换(结果为-56,溢出)
2. 类型转换
- byte可以看作是系统最基本的数据,他可以直接强转成一些类型,比如char,int,但汉字不是一个字节构成的,需要一些手段,不能直接强转;
byte a=97;
System.out.println((char)a);//输出为a
System.out.println((int)a);//输出为97
System.out.println((byte)1230);//输出为-50
System.out.println((byte)50);//输出为50
System.out.println((byte)-50);//输出为-50
System.out.println((byte)"国");//会报错,无法直接强转
System.out.println("国".getBytes("UTF-8"));//输出为[B@10f87f48
三、常见应用场景
- 处理二进制数据
-
- 文件读写(
FileInputStream
/FileOutputStream
) - 网络传输(Socket字节流)
- 图像处理(像素数据操作)
- 文件读写(
- 节省内存空间
-
- 替代int存储小范围整数(如状态码、枚举值)
- 大规模数组时优势明显(如
byte[]
比int[]
节省4倍内存)