在用到循环的时候时常会出现这两代码。
第一种在 循环里面定义变量
如果
for(int i=0;i<100;i++)
{
int j=i+10;
..................
}
另外一种是
int j=0;
for(int i=0;i<100;i++)
{
j=i+10;
.........................
}
这两种代码中,第一种 j 是在循环中不停的被声明。 第二种方法中 j 只被声明一次。
这两种代码中感觉上是第二种更好。但原因为是什么? 不明白。 不停的在 循环中声名变量有什么坏处?
12 回答
哔哔one
TA贡献1854条经验 获得超8个赞
第一种看起来不乱,避免在其他地方被调用而修改内容,而且在for循环结束时j就会被销毁,而第二种方法要等到整个方法结束时才被销毁,这样就节省了内存。另外,不管在哪里声明字段,第一次编译的时候都会先把所有的字段声明存放在程序的开头。
元芳怎么了
TA贡献1798条经验 获得超7个赞
第二种好。
第一种情况是:变量会不断地被声明,分配空间,销毁空间。
第二种情况是:变量只声明一次,但是生命周期很长,只有在变量声明部分的“}”之后才会自动被释放。可以优化的是,在循环结束后,手动销毁这个变量。
但是第二种方法消耗的内存和CPU时间会少些。
喵喔喔
TA贡献1735条经验 获得超5个赞
第二种方式更好!
第一种方式,变量 j 会循环声明 100 次,分配内存空间,然后再销毁,浪费资源。
第二种方式,变量 j 仅声明一次,循环结束后就会释放。
- 12 回答
- 0 关注
- 382 浏览
添加回答
举报
0/150
提交
取消