哪种条件最适合Java循环?我觉得他们会做同样的事情,但是我不确定是否看不到任何东西。
For(int i = 0; i For(int i = 0; i <= array.length-1; i ++){}
答案 0 :(得分:1)
您经常看到两种形式的事实很可能是由于以下因素的结合:
样式首选项中的差异。第一种形式更简洁,因此某些人会喜欢它。
程序员思考问题的方式有所不同。
程序员认为读者会思考问题的方式有所不同。 (就像“我知道数组索引转到array.length - 1
,我希望读者看到我已将其考虑在内。” )
一种(可能是错误的)信念,即一个版本比另一个版本更有效。
我之所以说“可能是错误的”,是因为人们的共识是,现代Java JIT编译器可能会将这两种形式优化为性能相同的本机代码。我说这是没有提供证据 1 ,因为我不知道有任何反证据 2 。
1-可以通过适当的基准测试或通过仔细分析JIT编译器发出的本机代码来获得证据。检查字节码不会证明任何事情。
2-如果有相反的证据……这有所作为……我声称这将是常识!