A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 可见 中级黑马   /  2012-3-5 18:18  /  2209 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

for(int x=0;x<5;x++)
{}
for循环结束后x空间释放
如果要继续留着x
是不是可以把x定义在外面
int x;
for(x=0;x<5;x++)
{}

?

8 个回复

倒序浏览
成员变量只作用在它所在的大括号内
回复 使用道具 举报
是的,for(int x=0;x<5;x++)
x在for里面属于局部变量,当for循环结束即消失了

int x;
for(x=0;x<5;x++)  你这样定义就不会了,因为开辟了空间
回复 使用道具 举报
可以定义在外面
回复 使用道具 举报
如果你觉的这样有用的话,就可以大胆去做
回复 使用道具 举报
定义在外面就可以了,在循环内定义的话,当循环结束的时候就自动释放了
回复 使用道具 举报
对于for语句来讲,如果将用于控制循环的变量定义在for语句中,那么该变量只在for语句内有效,for语句执行完毕,该变量在内存中被释放。
回复 使用道具 举报
也可以这样理解,只要定义的变量在{}内、、等程序一执行玩{}变量就被释放了。给你个例子
class  demo

   int sum=0;
public void add(int a)
{
sum=sum+a;
   
}//当运行完这里之后变量a就被释放
System.out.println(sum);
}//当运行完这里之后变量sum就被释放
回复 使用道具 举报
你已经明白了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马