Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
例如,我发现常量文字是在编译时计算的:int a=10+20;但是当我尝试使用时,int b=10/0;我发现它是在运行时计算的。你能告诉我为什么这个常量文字是在运行时计算的吗?谢谢你。
int a=10+20;
int b=10/0;
如果编译器可以保持与运行时相同的语义,则可以在编译时计算一个常量值。如果不是(例如,除以零的情况),那么它将计算推迟到运行时间。有关更多信息,请阅读JLS 15.28。