类型转换类型从低到高byteshortchar - int - long - float - doubleJava是强类型语言运算中不同类型数据要转化成同一类型再运算。强制类型转换public class Demo{ public static void main(String[] args){ int i 128; byte b (byte)i; //强制转换 System.out.println(i); System.out.println(b); //内存溢出byte是0-127 } }答案128 -128高到低强制转换。自动转换低到高自动转换。注意点不能对布尔值boolean进行转换。不能把对象类型转换为不相干的类型。把高容量转换成低容量时强制转换。转换时可能存在内存溢出或者精度问题。1.精度问题例子public static void main(String[] args){ System.out.println((int)23.7); //23 System.out.println((int)-45.12); //-45 } }2.溢出问题public class Demo{ public static void main(String[] args){ //操作比较大的数时注意溢出问题。 //JDK新特性数字之间可以用下划线分割 int money 10_0000_0000; int years 20; int total money*years; //-1474836480 long total2 money*years; //默认是int转换之前已经戳在问题了。 long tltal3 money*((long)years); //先把一个数转换为long System.out.println(total3); //答案20000000000 ​ } }