类型转换常见问题
public class Demo05 {
public static void main(String[] args) {
//类型转换的常见问题
//操作比较大的数的时候,注意溢出问题
int money = 100_000_000_0;
//可以通过JDK特性数字过多可以在数字之间使用下划线分割,下划线并不会被输出,为了我们的区分更加便捷。
System.out.println(money);
int years = 20;
int total = money*years;
System.out.println(total); // -1474836480
//因为计算的时候溢出了,所以计算的数据是错误的。
//使用long类型也是不行的。
long total2 =money*years;
System.out.println(total2);
//它的数值默认类型是int所以转换的结果也会变成int类型,转换之前已经存在问题
//正确示范
long total3 = money*((long)years);
System.out.println(total3); //200000000000
//所以要先把其中一个数值转换为long类型就可以计算了
//long类型数值的最后要加上L(大写的),养成规范。
}
}