A.自动转换:
如果是小的数据类型,转大的数据类型,可以自动进行转换;
自动类型转换:
byte–short–(char)-int–long–float–double;
a.范围小的数据类型转换为范围大的数据类型自动转换;
int i1 = “A”;//char类型自动升级为int
double b1 = i1;//int自动升级为double
b.如果说范围小的和范围大的数据类型进行混合运算的时候,会自动晋级为范围大的数据类型;
char ch = ‘a’;// a是97
int i1 = ch-32;//65
char ch1 = (char)(ch - 32);//A
c.当byte,short,char数据类型进行算术运算时,按照int类型处理
byte b1 = 12;
byte b2 = 32;
byte b3 = b1+b2;//错误的
byte b3 = (byte)(b1+b2);//正确的
d.boolean类型不参与类型转换;
B.强制的基本数据类型转换:
a.大的数据类型转小的数据类型;
使用格式 : 小的数据类型 变量名称 = (小的数据类型的)数值
double d2 = 3.14;
int i2 = (int)d2;
b.boolean不参与数据类型的转换;
c.提升值的类型也可以进行转换;
int i =3;
int j = 4;
double d =(double) i/j;//加减乘无影响,注意除法
System.out.println(d);
C.特殊的数据类型转换:
a.String类型转int型:
任意数据类型的数据与String类型进行“+”运算时,结果一定是String类型;
b.int型转String类型;
但是String类型不能通过强制类型()转换,转为其他的类;
String str = “123”;
int num = Integer.parseInt(str);