java中 long t = System.currentTimeMillis(); System.out.println(t/60/60/24/365/1000);这个的答案就正确,而System.out.println(t/(60*60*24*365*1000));输出就错误. (long i1 = 60*60*24*365;
System.out.println(t/(i1*1000)); )这两句合起来也正确.为什么,怎么想都想不通 .求高手解答.谢谢了...
System.out.println(t/(i1*1000)); )这两句合起来也正确.为什么,怎么想都想不通 .求高手解答.谢谢了...
默认书写数字的方式下,数值是 int 型;
那么连续做乘法,是会溢出的所以:
t/(60*60*24*365*1000)
应修改为(加个L):
t/(60l*60*24*365*1000)
像你这样改的确可以,但是我把整个(60*60*24*365*1000)写成long型为什么就不可以了?