根据我发现的每个参考文献,Java中的long类型范围从-9,223,372,036,854,775,808到+9,223,372,036,854,775,807。 我在下面写了下面的代码,
public static void main(String[] args){
long x = 12 * 24 * 60 * 1000 * 1000;
long y = 12 * 60 * 1000 * 1000;
System.out.print(x / y);
}
预期结果为24;但输出为0。
答案 0 :(得分:3)
在您的代码中,12 * 24 * 60 * 1000 * 1000
被评估为整数。然后你将它分配给很长时间。
尝试
long x = 12L * 24 * 60 * 1000 * 1000;
long y = 12L * 60 * 1000 * 1000;
System.out.print(x / y);
}
答案 1 :(得分:3)
你的文字是int的......
这使得x = 100130816而不是17280000000
你走了:
public static void main(String[] args) {
long x = 12L * 24L * 60L * 1000L * 1000L;
long y = 12L * 60L * 1000L * 1000L;
System.out.print(x + " " + y + " " + x / y);
}
结果是24
P.S。我第一次解决了这个问题,但你删除了问题......