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

在循环之前声明变量还是在循环中声明变量之间的区别?

在循环之前声明变量还是在循环中声明变量之间的区别?

largeQ 2019-06-18 16:24:12
在循环之前声明变量还是在循环中声明变量之间的区别?我一直在想,一般来说,在循环之前声明一个丢弃变量,而不是在循环中反复声明,是否会产生(性能)不同?一个(毫无意义)Java中的示例:a)循环前声明:double intermediateResult;for(int i=0; i < 1000; i++){     intermediateResult = i;     System.out.println(intermediateResult);}b)声明(重复)内部循环:for(int i=0; i < 1000; i++){     double intermediateResult = i;     System.out.println(intermediateResult);}哪个更好,a或b?我怀疑重复的变量声明(例如b)产生更多的开销理论上,但是编译器足够聪明,所以不重要。例b它的优点是更紧凑,并且将变量的范围限制在使用它的地方。尽管如此,我还是倾向于根据示例编写代码。a.编辑:我对Java的情况特别感兴趣。
查看完整描述

3 回答

?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

你觉得哪个好,ab?

从性能的角度来看,你必须衡量它。(在我看来,如果你能测量出一个差异,编译器就不是很好了)。

从维修的角度来看,b更好。在尽可能窄的范围内,在同一位置声明和初始化变量。不要在声明和初始化之间留下漏洞,也不要污染您不需要的名称空间。


查看完整回答
反对 回复 2019-06-18
?
蓝山帝景

TA贡献1843条经验 获得超7个赞

我分别运行了A和B示例20次,循环了1亿次。(JVM-1.5.0)

A:平均执行时间:.074秒

B:平均执行时间:.067秒

令我惊讶的是,B速度稍快。计算机的速度现在很难判断你是否能准确地测量它。我也会用A方式编码,但我会说这并不重要。


查看完整回答
反对 回复 2019-06-18
  • 3 回答
  • 0 关注
  • 920 浏览

添加回答

举报

0/150
提交
取消
微信客服

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

帮助反馈 APP下载

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

公众号

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