int有最大长度
最小值是 -2,147,483,648(-2^31)
最大值是 2,147,483,647(2^31 - 1)
当两个int型相加超出int范围时,即使接受的参数是long型也会造成精度损失,原因是:
两个int型相加是会先转换成int型然后再赋值,所以再相加前要先转换成long型。
示例:
int m = 2147483647;
//输出-2147483648
long l = m + 1;
System.out.println(l);
//输出2147483648
l = m + 1L;
System.out.println(l);