数据类型
头脑时间
这个变量直接存储值,并置于堆栈中,更高效。
它们所占存储空间的大小不随底层机器硬件架构的变化而变化,这是java程序更具可移植性的原因之一
关键字(8)都是小写
解释
几位
取值范围
byte
字节型
8bit
-128~127(-2的7次方到2的7次方-1)
short
短整型
16bit
-32768~32767(-2的15次方到2的15次方-1)
int
整型
32bit
-2147483648~2147483647(-2的31次方到2的31次方-1)
long
长整型
64bit
-9223372036854774808~9223372036854774807(-2的63次方到2的63次方-1)
float
浮点型
3.402823e+38 ~ 1.401298e-45(e+38表示是乘以10的38次方,同样,e-45表示乘以10的负45次方)
double
双精度
1.797693e+308~ 4.9000000e-324
char
字符型
采用unicode编码,它的前128字节编码与ASCII兼容
字符的存储范围在\u0000~\uFFFF,在定义字符型的数据时候要注意加' ',比如 '1'表示字符'1'而不是数值1,
char c = ' 1 ';
boolean
布尔型
true和false
byte 是字节数据类型 ,是有符号型的,占1 个字节;大小范围为-128—127 。char 是字符数据类型 ,是无符号型的,占2字节(Unicode码 );大小范围 是0—65535 ;
char是一个16位二进制的Unicode字符,JAVA用char来表示一个字符;char可以表示中文字符,byte不可以
底层:有符号和无符号,涉及计算机组成原理的存储了
IO传输图片等二进制文件用byte[],基本的文档text用char[]
自动转换按从低到高的顺序转换。不同类型数据间的优先关系如下:
低--------------------------------------------->高
byte,short,char-> int -> long -> float -> double
既然能类型转换,byte,short,char,int , long,简单来说是取值范围的不同