| 类型 | 位数(bit) | 范围 | 默认取值 |
| byte | 8 | -2^7~2^7-1 | 0 |
| short | 16 | 2^15~2^15-1 | 0 |
| int | 32 | 2^31~2^31-1 | 0 |
| long | 64 | 2^63~2^63-1 | 0 |
| float | 32 | 约-3.4E+38~3.4E+38 | 0.0 |
| double | 64 | 约-1.7E+308~1.7E+308 | 0.0 |
| char | 16 | 空 | 0~2^15-1 |
| boolean | 8 | false、true | false |
注意:
1.整数的默认类型为int,浮点数的默认类型为double。
2.long类型的赋值要加上“l”或“L”,如:long f=100L;
3.float类型的赋值要加上“f”或“F”,如:float f=100f;
4.char类型是无符号的,不能为负,所以是0开始的。其赋值方式可以是char c='a';char c=33;33对应的是ascii表中的“
char c='数';char c='u0001';必须要用单引号(''),u表示后面是一个unicode字符。
类型转换1.隐式转换
低类型(短字节)可以自动转换为高类型(长字节),例如:short s=10;int i=s;但是高类型不能自动向低类型转换,如:byte b=s;
2.强制转换
强制转换就是 在被转换的表达式前加(类型),比如:byte b=(byte)s;
但是高类型向低类型转换时,可能会产生内存溢出,导致数值不准确。
基本数据类型计算时需要注意点
在java中,类型为byte,short,char类型的变量在运算的过程中会自动转为int类型进行计算,所以在一定情况下要进行强制转换。例如:byte b1=1;byte b2=(byte)(b1+10);b1在计算时转成了int类型。



