存储在long变量中的值不符合预期



我很困惑这是怎么发生的。输出不符合预期。

public class Test2 {
public static void main(String arg[]){
    int interval = 43200;
    long tempInterval = interval * 60000;
    System.out.println(tempInterval);
}}

预期输出是2592000000,但我得到-1702967296。这可能很幼稚

在60000后面加一个L

Java假定您正在使用int型乘法,这会在将其强制转换为长类型之前导致int溢出。

最新更新