ani*_*web 5 java performance loops initialization declaration
在编写循环时,我经常会对应该选择哪一个感到困惑.例如,
int sum;
for(int i=0; i<10; i++)
{
sum=0;
...
....
}
Run Code Online (Sandbox Code Playgroud)
要么
for(int i=0; i<10; i++)
{
int sum=0;
...
....
}
Run Code Online (Sandbox Code Playgroud)
比如,变量仅在此循环中需要.在程序的后期部分不需要它.我需要在循环开始时变量sum的值为0.哪一个更好的做法?在循环开始时重新初始化变量或重新声明它?哪一个更有效率?
如果在循环之外声明变量而不是在循环之外使用它,编译器将在循环内移动声明.
这意味着没有理由在这里比较效率,因为你最终会得到JVM为这两种方法运行的完全相同的代码.
所以下面的代码:
int sum;
for(int i=0; i<10; i++)
{
sum=0;
}
Run Code Online (Sandbox Code Playgroud)
...编译后成为这个:
for(int i = 0; i < 10; i++)
{
int sum = 0;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
944 次 |
| 最近记录: |