13. 尽量减少对变量的重复计算
如
for(int i=0;i<list.size();i++)
应该改为
for(int i=0,len=list.size();i<len;i++)
并且在循环中应该避免使用复杂的表达式,在循环中,循环条件会被反复计算,如果不使用复杂表达式,而使循环条件值不变的话,程序将会运行的更快。
上面 这段是在博客上看到的;
表示我每次用的都是上面的那个,这个效率真的比下面的低———— 问题 1
实际开发中会用哪种呢?——————————————————— 问题2
还有下面两种写法有什么区别么———————————————— 问题3
实际开发中用哪个—————————————————————— 问题4
for(int i=0;i!=60;i++)
{}
for (int i=0;i<60;i++)
{}
这两个的区别跟上面那两个的区别是相同的么?——————————问题5
如
for(int i=0;i<list.size();i++)
应该改为
for(int i=0,len=list.size();i<len;i++)
并且在循环中应该避免使用复杂的表达式,在循环中,循环条件会被反复计算,如果不使用复杂表达式,而使循环条件值不变的话,程序将会运行的更快。
上面 这段是在博客上看到的;
表示我每次用的都是上面的那个,这个效率真的比下面的低———— 问题 1
实际开发中会用哪种呢?——————————————————— 问题2
还有下面两种写法有什么区别么———————————————— 问题3
实际开发中用哪个—————————————————————— 问题4
for(int i=0;i!=60;i++)
{}
for (int i=0;i<60;i++)
{}
这两个的区别跟上面那两个的区别是相同的么?——————————问题5
而for(int i=0,len=list.size();i<len;i++),只调用了一次list.size()将值赋给len,那你说是调用list.size()方法取值快呢还是直接从len中取值快呢
{}
for (int i=0;i<60;i++)
{}这两个的区别引用网上流行的就是2B青年与文艺青年的区别。再给你举个简单的例子:
你是一个男人,
你是喜欢别人直接说你是个男人呢还是喜欢别人说你不是女人?
能明白我想表达的什么了不?
你两段代码,一样慢int index = 0; // 如果需要下标的话
for (X x : list) {
...
index++;
}