- Java是一种强类型语言,每个变量都必须声明其类型
1 数据类型分类
- 基本数据类型
- 数值型
- 整数类型 (byte,short,int,long)
- 浮点类型(float,double)
- 字符型 (char)
- 布尔型 (boolean)
- 数值型
- 引用数据类型
- 类(class)
- 接口(interface)
- 数组
2 整数类型
2.1 表示范围
类型 | 占用存储空间 | 表数范围 |
---|---|---|
byte | 1字节 | -128~127 |
short | 2字节 | -215~215-1 |
int | 4字节 | -231~231-1 |
long | 8字节 | -263~263-1 |
注1:Bigdecimal
是Java中提供精度更高,表示范围更广的一个类,可以表示小数点后更高的精度,也可以表示超过long型的长整型数字
注2:使用long
类型常量时,需要在值的后边追加L
2.2 Java中进制表现形式 & 进制转换
- 不同进制的表现形式
int Oct = 010; // 八进制
int Dec = 10; // 十进制
int Hex = 0xf; // 十六进制
- 不同进制之间的转换
Integer.toBinaryString(Oct); // 转二进制
Integer.toOctalString(Hex); // 转八进制
Integer.valueOf(Oct); // 转十进制
Integer.toHexString(Dec); // 转十六进制
注:Java中不提供对于二进制的表现形式支持
3 浮点型
3.1 表示范围
类型 | 占用存储空间 | 表示范围 |
---|---|---|
float | 4字节 | -3.403E38~3.403E38 |
double | 8字节 | -1.798E308~1.798E308 |
3.2 使用时注意事项
- Java中声明一个小数的时候默认是
double
类型的,如果想声明一个float
类型的小数,需要在小数后边追加F
- 浮点数存在舍入误差,很多数字不能精确的表示。如果需要进行不产生舍入误差的精确数字计算,需要使用
Bigdecimal
类进行计算 - 尽量避免在比较中使用浮点数
4 字符型
-
char
类型使用的是unicode
编码 -
char
类型运算时直接当作整数来进行运算
5 布尔型
- 在内存中只占用一位
网友评论