为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

HUWWW 2021-05-10 15:17:21
我想知道何时在Java中进行如下计算:float x; if (x/2f>10f) {}每次运行时还是在编译阶段都必须进行除法,是否将其内联到正确的值?我猜是后者,因为x的值可以改变吗?我有道理吗?我想知道是否值得花一些时间来预先计算某些值而不是重复这些值,或者是否已经为我完成了。如您所知,我没有任何编程方面的正规教育,我对此感到很好奇。如果我不正确地使用内联一词,请原谅我,因为我已经很长时间没有尝试过C了。编辑:感谢您的答复,这对我来说似乎很明显,并且我很傻地问,如果x的值是可变的,那么它不能在编译时出现,但是如果将其初始化并声明为final怎么办?因为我读到对文字的操作是编译时,所以常量呢...所以...最终浮点数x = 1f; 如果(x / 2f> 10f){}
查看完整描述

2 回答

?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

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


查看完整回答
反对 回复 2021-05-12
?
炎炎设计

TA贡献1808条经验 获得超4个赞

由于“ x”未初始化。计算将在运行时完成。


查看完整回答
反对 回复 2021-05-12
  • 2 回答
  • 0 关注
  • 170 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号