Java-类型转换
类型转换
强制类型转换&自动类型转换
内存溢出
转换时可能会遇到转换的类型范围无法容纳 则会出现 内存溢出 的情况
精度丢失
输出时 默认向0取整 转换时可能会遇到 精度丢失
类型转换在计算中...
图中第七行出现了内存溢出的情况 因为int变量无法承受money*years的值
第八行改用long变量 但输出结果仍为溢出 是因为 = 右边的值 为int变量相乘过后的值 赋予 给了total2
此时赋予的值本身就已经溢出了 所以即使是long变量输出的也依然是溢出的值
以下是改进方法:
我们新建一个total3 在将money*years的值赋予total3前 我们就先将其中一个变量的类型进行转换
这里将这里将years的变量转换为long变量
但其实这样也可以:
System.out.println ((long) money*years) ;
JDK7小技巧(向下兼容):操作较大数字时可以 用下划线分割 下划线并不会被输出

浙公网安备 33010602011771号