Java类型转换
- 由于Java是强类型语言,变量或者值进行运算的时候,需要用到类型转换
// 优先级:低 ----------------------------->高
byte --> short --> char --> int --> long --> float --> double
- 当进行运算时,不同类型的数据会先转化成同一类型,然后再进行运算
两种类型转换
-
强制类型转换(高—>低)
// 语法:(类型)变量名 // 高转低 int--->byte int i = 128; byte i2 = (byte)i; // byte 范围:-128-127 强制转换导致内存溢出 System.out.println(i); // 128 System.out.println(i2); // -128
-
自动类型转换(低—>高)
// 低转高 int ---> double 会进行自动转换 int num = 20000; double num2 = num; System.out.println(num); // 20000 System.out.println(num2); // 20000.0
结论
- 不能对布尔值进行转换
- 不能把对象类型转换为不相干的类型
- 从高容量转换低容量时,强制转换有可能会内存溢出,导致丢失精度