是否在编译或运行时对声明为final的java变量进行运算?

我想知道何时在Java中进行如下计算:

float x;
if (x/2f>10f) {}

每次运行时还是在编译阶段都必须进行除法,是否将其内联到正确的值?

我猜是后者,因为x的值可以改变吗?我有道理吗?我想知道是否值得花一些时间来预先计算某些值而不是重复这些值,或者是否已经为我完成了。

如您所知,我没有任何编程方面的正规教育,我对此感到很好奇。

如果我不正确地使用内联一词,请原谅我,因为我已经很长时间没有尝试过C了。

编辑:感谢您的答复,这对我来说似乎很明显,并且我很傻地问,如果x的值是可变的,那么它不能在编译时出现,但是如果将其初始化并声明为final怎么办?因为我读到对文字的操作是编译时,所以常量呢...所以...

最终浮点数x = 1f; 如果(x / 2f> 10f){}


HUWWW
浏览 171回答 2
2回答

慕桂英3389331

在您提供的代码片段中,假设它在方法内部,未初始化“ x”,则在编译阶段检查此步骤,并在运行时完成计算。

炎炎设计

由于“ x”未初始化。计算将在运行时完成。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java