2023年2月23日大约 2 分钟JavaJava基础数据类型
分类

- 基本数据类型 - 数值型 - 整数类型 - byte:字节型
- short:短整型
- int:整型
- long:长整型,以大写的或小写的(L/l)结尾,未加 L 被视为 int
 
- 浮点类型 - float:单精度浮点型,以大写的或小写的(F/f)结尾
- double:双精度浮点型,浮点型字面值默认为 double 类型
 
 
- 整数类型 
- 字符型(char)
- 布尔型(boolean)
 
- 数值型 
- 引用数据类型 - 字符串(String) 
- 类(class) 
- 接口(interface) 
- 数组 
 
空间占用
| 数据类型 | 说明 | 字节 | 位 | 最小范围 | 最大范围 | 
|---|---|---|---|---|---|
| byte | 字节型 | 1 | 8 | -2^7 | 2^7-1 | 
| short | 短整型 | 2 | 16 | -2^15 | 2^15-1 | 
| int | 整型 | 4 | 32 | -2^31 | 2^31-1 | 
| long | 长整型 | 8 | 64 | -2^63 | 2^63-1 | 
| float | 单精度浮点型 | 4 | 32 | -3.40E+38 | 3.40E+38 | 
| double | 双精度浮点型位有效数字) | 8 | 64 | -1.79E+308 | 1.79E+308 | 
| char | 字符型 | 2 | 16 | 0 | 65535 | 
| boolean | 布尔型 | 1 | 8 | 
字面值
- 整型字面值 - 二进制(BIN)
- 十进制(DEC)
- 八进制(OCT):以 0 开头,包括 0-7 的数字(例:037、056)
- 十六进制(HEX):以 0x 或 0X 开头,包括 0-9 的数字,及字母 a-f(例:0x12、0xabcf) - 也可以是 A-F,a 表示数字 10,以此类推
- 后面加 L表示长整型数据
 
 
- 浮点型字面值 - float 类型需要在字面值后加 f或F
- 默认情况下表示 double 类型,也可在字面值后加 d或D
 
- float 类型需要在字面值后加 
- 字符型字面值 - 用单引号内的单个字符表示('a'、'b'、'c'、'$')
- 值可以是 ASCLL码 的编号 - 如果字面值超出 char 类型所表示的数值范围,需要进行强制类型转换
 
 
- 布尔型字面值 - true
- false
 
- 字符串字面值 - 双引号引起来的 0 个或多个字符
 
基本数据类型变量的存储
- 按作用范围分类 - 类级
- 对象实例级
- 方法级(局部变量) - 存储在 栈 中
 
- 块级
 
类型转换
自动(隐式)类型转换
下图箭头相反方向均需要强制类型转换
- byte、- short、- char三种类型变量之间随意组合做运算,结果均为- int类型

强制类型转换
如果 A 类型的数据表示范围比 B 类型大,则将 A 类型的值赋值给 B 类型,需要强制类型转换
// 转换格式
long num1 = 10L;
int num2 = (int) num1;