JAVA 基本数据类型
主要有四种基本数据类型:
整型:
byte 字节型 1字节 8个bit位 0 000 0000 用第一个bit位表示正负,0正数,1负数 ,数值的范围 -2^7 ~ 2^7-1 -128 -127
short 2字节 16个bit位 -2^15 ~2^15-1 -32768 ~32767
int 4字节 32个bit位 - 2^31 ~ 2^31-1 -2 147 483 648 ~ 2147483647
long 8字节 64个bit位 如果数值超出int的取值范围,计算机编译会报错(计算机认为数字太大)必须在数值后面带上L
浮点型:
float 4字节 32个bit位 3.14F后面必须带f或者F
double 8字节 64个bit位
布尔型:
boolean 1个bit位 true或者false
字符型:
char 英文和符号和数字是1个字节,中文是2个字节 。例如 'a','我'
float e =3.4
从double转化到float会有损失
1 3.4 常量值
存储在常量缓冲区中,常量值的存储形式是以二进制形式存储。
1 ---->32bit 整数默认开辟32位的空间,相当于int类型
3.4---->64位 小数默认开辟64位的空间,相当于double类型,所以64位的3.4无法放到float类型的空间中,放不下,所以在定义float时,必须在后面加上F
那为什么byte a =1不需要在后面加标志的?
因为 等号在赋值的时候计算机会自动转化,把默认的32个bit位 的前面的24个bit位强制去掉。(前提是前面的24位必须都是0,这时候才会转换)
00000000 00000000 00000000 00000000
但是double 和float的bit位含义不同 ,所以不能强制转换
引用数据类型:
数组[] ,类class(抽象类 abstract class) 接口interface ,枚举 enum ,注解@interface
字符串:String " a " "abc" " ", null 。" "和null代表的含义不同