基本数据类型:8种
1.整型:
byte 1个字节 8位 -128到127
short 2个字节 16位 -2^15到(2^15)-1
int 4个字节 32位 -2^32到(2^32)-1
long 8个字节 64位 -2^64到(2^64)-1
2.浮点类型:
float 4个字节 32位
double 8个字节 64位
3.字符类型:
char 2个字节 16位
4.布尔类型:
boolean 1个字节 false/true
注:
1.java中的自动类型提升问题:
正向过程:由低字节向高字节自动转换
byte->short->int->long->float->double
逆向过程:使用强制转换,可能丢失精度。
int a=(int)3.14;
2. char:Java中用" \u四位十六进制的数字 (即使在注释中出现\u,后面如果 跟的不是4个数字,也会报错)"表示将字符转换成对应的unicode编 码,字符类型要用单引号括起来。
3、黙认浮点类型为double,float数据类型有一个后缀为" f "或" F "。
4、long类型有一个后缀,为" l " 或者" L "
自动类型提升:
byte a = 1;
byte b = 2;
a = a+b; //编译出错自动类型提升成int
a += b; //自加没有自动类型提升问题
类型自动提升规则:
a和b作某种运算
a和b中有double,结果就是double
a和b中有float,结果就是float
a和b中有long,结果就是long
除此之外,结果都是int
把高字节转成低字节,需要作强制类型转换. byte c=(byte)a+b;