for循环中局部变量分配内存问题 for(;;){ int a=1;}像这种循环假如循环10次,a被赋值十次,第一次赋值和后面的几次赋值为什么不产生重复变量的错误?第一次循环后,难道a就失效了????? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 int a=1;这句话,会在内存中分配一个内存单元,存放1这个数字。每次循环,都会在内存中分配新的内存单元,虽然,它们的值都是想同的。 局部变量的生命周期只在{}范围内有效。那么换个思路来理解的话:for( 语句1; 语句2; 语句3){ int a=1;}你知道循环执行顺序是: 语句1 -> 语句2 -> {} -> 语句3 -> 语句2 -> {} -> 语句3 -> 语句2 -> {} -> 语句3 -> 语句2所以int a=1; 在 {} 之后,进入语句3的时候,就已经消失了。 ldh911回答很直观,一看就明白了,不过也谢了楼上其他人的回答 哪个大侠帮我看看什么问题哦? JAVA 监听接口 getColumnName()怎么和getColumnLabel()一样?怎么才能得到字段名? java ResultSetMetaData 为什么只有一个线程在运行 请问java如何能够获取cpu使用率? 请教高手,如何用java通过SP发送短消息?急!!! 如何识别出0开头或0x开头的int类型? 如何迅速成为Java高手 我是JAVA初学者,如何用JBUILDER的DATABASE PILOT连接ORACLE的数据库 如何模拟鼠标事件 子类是否可以继承所有父类的所有方法和属性 改个小错
这句话,会在内存中分配一个内存单元,存放1这个数字。
每次循环,都会在内存中分配新的内存单元,虽然,它们的值都是想同的。
for( 语句1; 语句2; 语句3)
{
int a=1;
}你知道循环执行顺序是:
语句1 -> 语句2 -> {} -> 语句3 -> 语句2 -> {} -> 语句3 -> 语句2 -> {} -> 语句3 -> 语句2所以int a=1; 在 {} 之后,进入语句3的时候,就已经消失了。