类型转换
转换顺序
从低到高
public class transformtype { public static void main(String[] args) { //强制转换 (类型名)变量名 高到低 int i=128; byte b= (byte)i;//内存溢出 //自动转换 低到高 double d= i; System.out.println(i); System.out.println(b); System.out.println(d); /** * 注意点 * 1.不能对布尔值进行转换 * 2.不能把对象类型转换成不相干的类型 * 3.把高容量转换到底容量的时候,强制转换 * 4.转换的时候可能出现内存溢出,或者精度问题 */ System.out.println("=================================="); System.out.println((int) 23.7); System.out.println((int) -45.89f);//精度问题 System.out.println("=================================="); char c= 'a'; int e= c+1; System.out.println(e); System.out.println((char) e); //============================================================================================== //常见问题 //操作比较大的数的时候,注意溢出问题 System.out.println("*************************************************************************"); int money=10_0000_0000;//数字之间可以用下划线分割 int years=20; int total=money*years;//-1474836480 计算的时候溢出了 System.out.println(total); long total2=money*years;//默认是int,转换之前已经存在问题了 System.out.println(total2); long total3=(long) money*(long) years;//先进行转换 System.out.println(total3); } }

浙公网安备 33010602011771号