int i = 128;
byte b = (byte)i;//内存溢出
//强制转换 由高级别转到低级别
//自动转换 由低级别到高级别 double b = i;
System.out.println(i);
System.out.println(b);
i=128;b=-128,因为byte最大127,产生内存溢出
布尔值不能进行转换
强制转换可能会遇到内存溢出和精度的问题!
int money = 10_0000_0000;
JDK7新特性,数字之间可以用下划线分割
int money = 10_0000_0000;
int years = 20;
int total = money*years;//错误,-1474836480,计算时溢出
long totle2 = money*years;//错误,虽然改为long类型,但是在money*years计算时已经溢出问题了
long totle3 = monet*((long)years);//正确,先把其中一个转成long