下面看一个简单的例子:

Java中int溢出_数据类型

输出结果为:

Java中int溢出_数据类型_02

这是一个典型的int溢出的问题。

因为Java在做乘法时,如果没有显示确定的数据类型,那么他会默认按照int数据类型进行计算,但是第一行代码在运算时导致int数据溢出,所以出现了负数的情况。

第二行代码是将计算数强制转换为为long 然后按照long类型运算得出了正确的计算结果。