【Java】基本数据类型(一)
Java规定了八种基本数据类型:byte、char、short、int、long、float、double、boolean
基本类型不允许为null值,各自取值范围不同,代表大小不同。
八种基本类型的取值范围如下表:
类型
内存空间(8=1)
范围
Byte
8
-128~127(-2^8-1~2^8-1-1)
Short
16
-32768~32767(-2^16-1~2^16-1-1)
Int
32
-2147483648~2147483647(-2^16-1~2^32-1-1)
Long
64
-9223372036854775808~9223372036854775807(-2^64-1~2^64-1-1)
Char
16
0-65535(0x0000~0xffff)(共计2^16=65536)
Float
32位
1.4E-45~3.4028235E38(1+8+23)(符号位+指数位+尾数位)
Double
64位
4.9E-324~1.7976931348623157E+308(8+11+52)(符号位+指数位+尾数位)
Boolean
只能是true或false
八种基本数据类型除boolean类型之外都可以相互转换,前提是所代表的内容不能超出转换类型的范围。转换分为隐士转换和强制转换,低范围(低精度)向高范围(高精度)转换无需特殊处理,Java自动转换,属于隐式转换。反之则属于显示转换,需要强制转换,如果数据范围超出,必定会丢失部分信息。
八种基本类型的转换优先级如下(左侧为低级,右侧为高级):
byte<short、char<int<long<float<double