1.byte:字节
1.内存中占8位、 1字节。
2.范围:负2的7次方~2的7次方减1。
3.计算机中,数据传输大多是以“位”(bit,比特)为单位。
4.一位就代表一个0或1(二进制),每8个位(bit)组成一个字节(byte)。所以,1个字节=8位0101代码。
2.short
1.内存中占16位、2字节 .
2.范围:负2的15次方~2的15次方减1。
3.int
1.内存中占32位、4字节。
2.范围:负2的31次方~2的31次方减1。
4.long
1.内存中占64位、8字节。
2.范围:负2的63次方~2的63次方减1。
2.使用long类型数据的时候,后面要加大写L
或者小写l
,建议加上大写的L
,因为小写的l
和数字1
很像似。
1.
byte
,short
,int
和long
都是整数类型,并且都是有符号整数(正负)。
2.有符号整数把二进制数的首位作为符号数,当首位是0时,对应十进制的正整数,当首位是1时,对应十进制的负整数。Java中,正数取反再加1,就是对应的负数;负数取反再加1,就是对应的正数。
3.在Java语言中,为了区分不同进制的数据,八进制数以0
开头,十六制以0x
开头,二进制以0b
开头。
4.整数类型的默认类型是int
。
5.float
1.内存中占32位, 1符号位+8指数位+23尾数。
2.float的精度为7位左右有效数字。
3.float浮点型数据的声明:后面加f
或者F
。
6.double
1.内存中占64位 1符号位+11指数位+52尾数位。
2.double的精度为16位左右有效数字。
3.double浮点型数据的声明:后面加d
或者D
。
1.
float
和double
都是Java中的浮点型,浮点型可以用来表示小数,它们的二进制表示方式和整型不同。
2.float
和double
的精度是由尾数的位数来决定的。
3.浮点型的默认类型是double。
4.Java中的浮点数类型float和double不能够进行精确运算。这个问题不是Java语言的bug,而是因为计算机存储数据是二进制的,而浮点数实际上只是个近似值,所以从二进制转化为十进制浮点数时,精度容易丢失,导致精度下降。要保证运行结果的精度,可以使用BigDecimal
类。BigDecimal
是java.math
包中的类,使用时需要import
导入。
7.char
1.char类型占2个字节(16位),用来表示字符。
2.char是基本数据类型。String表示字符串,是类类型。一个String是由0~n个char组成。
3.字符使用单引号表示,字符串使用双引号表示。
8.boolean
1.布尔类型占1个字节(8位),它的的值,必须是true或者false。
2.在JVM中会转换为1(true)或者0(false)。