什么是类型转换
在赋值运算或者算数运算的时候,要求数据类型一致,就要进行类型的转换。
类型转换的种类
- 自动转换
- 强制转换
在进行运算的时候:
左=右 : 直接赋值
左<右 :强转
左>右 :直接自动转换
// 自动类型转换
double d = 6;
System.out.println(d); // 6.0
// 强制转换
int i = (int) 6.7;
System.out.println(i); // 6
//在同一个表达式中,有多个数据类型的时候,应该如何处理:
//多种数据类型参与运算的时候,整数类型,浮点类型,字符类型都可以参与运算,唯独布尔类型不可以参与运算。
//double d2 = 12+1294L+8.5F+3.81+'a'+true;
double d2 = 12+1294L+8.5F+3.81+'a';
System.out.println(d2);
//以下情况属于特殊情形:对于byte,short,char类型来说,只要在他们的表数范围中,赋值的时候就不需要进行
//强转了直接赋值即可。
byte b = 12;
System.out.println(b); // 12
byte b2 = (byte)270;
System.out.println(b2); // 14
内存演示
对于byte,short,char类型来说,只要在他们的表数范围中,赋值的时候就不需要进行
类型级别:(从低到高的)
byte,short,char —> int —> long —> float —> double