文章目录
定义
- Java语言是强类型语言,对于每一种数据都定义了明确的具体的数据类型,在内存中分配了不同大小的内存空间。
分类
- 基本数据类型
- 数值型
- 整数类型(byte,short,int,long)
- 浮点类型(float,double)
- 字符型(char)
- 布尔型(boolean)
- 数值型
- 引用数据类型
- 类(class)
- 接口(interface)
- 数组([])
计算机存储单元
- 定义:变量是内存中的小容器,用来存储数据。那么计算机内存是怎么存储数据的呢?无论是内存还是硬盘,计算机存储设备的最小信息单元叫“位(bit)”,我们又称之为“比特位”,通常用小写的字母b表示。而计算机最小的存储单元叫“字节(byte)”,通常用大写字母B表示,字节是由连续的8个位组成。
- 常用存储单元关系
- 1B= 8b
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
- 1B= 8b
Java基本数据类型图
数据类型转换
- 定义
- 数据类型的转换是在所赋值的数值类型和被变量接收的数据类型不一致时发生的,它需要从一种数据类型转换成另一种数据类型。
- 分类
- 隐式转换
- 定义
- 在运算过程中,由于不同的数据类型会转换成同一种数据类型,所以整型、浮点型以及字符型都可以参与混合运算。自动转换的规则是从低级类型数据转换成高级类型数据。
- 转换规则
- 数值型数据的转换:byte→short→int→long→float→double。
- 字符型转换为整型:char→int。
- 转换条件
- 自动类型转换的实现需要同时满足两个条件:①两种数据类型彼此兼容,②目标类型的取值范围大于源数据类型(低级类型数据转换成高级类型数据)。例如 byte 类型向 short 类型转换时,由于 short 类型的取值范围较大,会自动将 byte 转换为 short 类型。
- 定义
- 显式转换
- 定义
- 当两种数据类型不兼容,或目标类型的取值范围小于源类型时,自动转换将无法进行,这时就需要进行强制类型转换。
- 语法格式
- 目标类型 变量名 = (目标类型) (被转换的数据);
举例:int b = (byte)(a + b);
- 目标类型 变量名 = (目标类型) (被转换的数据);
- 注意
- 如果超出了被赋值的数据类型的取值范围得到的结果会与你期望的结果不同
- 不建议强制转换,因为会有精度的损失。
- 定义
- 隐式转换