Java基本数据类型
类型 | 存储字节 | 范围 | 其他 |
---|
byte | 1 | -128~127 | | short | 2 | -32768~32767 | | int (默认整型) | 4 | -2147483648~2147483647 | | long | 8 | -9223372036854775808~9223372036854775807 | 长整型有一个后缀L或者l | float | 4 | 单精度 | 后缀F或者f | double(默认浮点型) | 8 | 双精度 | 默认为double,也可以加D或者d | char | 2 | | | boolean | 1 | | |
OFFSET SIZE TYPE DESCRIPTION
0 12 (object header)
12 4 int ObjectAnalysis.i
16 8 long ObjectAnalysis.l
24 8 double ObjectAnalysis.d
32 4 float ObjectAnalysis.f
36 2 short ObjectAnalysis.s
38 2 char ObjectAnalysis.c
40 1 byte ObjectAnalysis.b
41 1 boolean ObjectAnalysis.flag
常用进制
- 十六进制
- 八进制
- 二进制
- 只有0和1表示的数
- 从JDK7开始,可以使用0b或者0B写二进制数
数据转换操作
自动类型转换
- 实线表示无信息转换丢失,虚线表示可能有精度损失
- 两个操作数,有一个double,另一个会转换为double
- 否则,如果有一个float,另一个转float
- 否则,如果有一个long,另一个转为long
- 否则,都转换int类型
按照范围由大到小
强制类型转换
由范围大的转范围小的,比如double转int,那么需要通过强制类型转换操作
double d = 1.0;
int a = (int)d;
|