1_3.数据类型自动转换和强制转换

8种基本数据类型除了boolean之外都能转换
小空间数据类型向大空间数据类型转换
byte, short和char在计算时产生的结果默认是int类型

自动转换
变量在做计算时可能溢出的情况下,java语言采用自动类型转换的方式来处理

每一个char背后都对应一个数值类型的ascii码
A~Z 65~90
a~z 97~122

int 和其他数值计算后,如果溢出, 直接损失精度.

任何整数类型和long做运算都会转换成long

常量在做运算的时候,只要不超出定义的数据类型就不会发生类型的自动提升;

//可以
byte b = 3  + 4;

//报错, 变量b的类型应为int
byte a = 3;
byte b = a + 4;

float类型和常量计算不会有类型提升
float 和所有整数类型计算都会转换成float
float和float计算不会有类型提升

//没有问题
float f1 = 12.5f;
float f2 = f1 + 1;

double和常量计算会自动转换成double
double和float类型计算 会自动转换成double、

你可能感兴趣的:(1_3.数据类型自动转换和强制转换)