Java问题 - 背后的原因和可能的输出是什么

Rak*_*esh 0 java

1.)

long milli=24*60*60*1000;
long micro=24*60*60*1000*1000;
long result=micro/milli;
Run Code Online (Sandbox Code Playgroud)

结果应该是,1000但事实并非如此.

请告诉我输出并解释一下?

2)

int i=0;
for(a=0;a<=integer.MAX_VAL;a++)
{
    i++;
}

S.O.P(i);
Run Code Online (Sandbox Code Playgroud)

通常它会进入infine循环,因为它有最大值它应该从循环中出来.在什么条件下它会成功执行,什么是例外价值......任何人都可以告诉我关于VM ...在JAVA中处理数字的问题

Joh*_*erg 5

你需要L在那里进行长时间的转换

long micro=24*60*60*1000*1000L
Run Code Online (Sandbox Code Playgroud)