Java-类型转换

类型转换

强制类型转换&自动类型转换

image-20220421174124485

image-20220421174641008

内存溢出

转换时可能会遇到转换的类型范围无法容纳 则会出现 内存溢出 的情况

image-20220421175334889

精度丢失

输出时 默认向0取整 转换时可能会遇到 精度丢失


image-20220421174957485

类型转换在计算中...

image-20220421180547581

图中第七行出现了内存溢出的情况 因为int变量无法承受money*years的

第八行改用long变量 但输出结果仍为溢出 是因为 = 右边的值 为int变量相乘过后的值 赋予 给了total2

此时赋予的值本身就已经溢出了 所以即使是long变量输出的也依然是溢出的值

以下是改进方法:

image-20220421182311178

我们新建一个total3 在将money*years的值赋予total3前 我们就先将其中一个变量的类型进行转换

这里将这里将years的变量转换为long变量

但其实这样也可以:

System.out.println ((long) money*years) ;

JDK7小技巧(向下兼容操作较大数字时可以 用下划线分割 下划线并不会被输出

image-20220421175924122

posted @ 2022-04-21 18:35  Lewis松子  阅读(21)  评论(0)    收藏  举报