数据类型中,两种转换方式:
自动类型转换 和 强制类型转换
一、自动类型转换
概念:取值范围小的数据或者变量可以直接赋值给取值范围大的变量
特点:
(1)自动类型转换是自动完成的,不需要在代码的干预
(2)byte/short/char 类型数据,只要参加运算就会自动转换为int类型
(3)byte/short/char --> int --> long > float --> double
int a = 1;
byte b = 2;
byte c = a + b; //这个是错误的
int c = a + b; //正确写法
注意:b是byte类型的,赋值符号左侧使用的是byte类型来接收int类型的赋值,会发生类型不兼容。
二、强制类型转换
概念: 取值范围大的数据或变量,不能直接赋值给取值范围小的变量,需要手动代码干预
解决方案:1、把被赋值对象的类型变大
2、强制类型转换
格式:转后类型 变量名称 = (转后类型)转前数据或者变量;
long num = 10L;
int a = (int)num;