java 基本数据类型及自动类型提升

时间:2022-05-28 12:33:11

基本数据类型: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;