黑马程序员技术交流社区

标题: 关于FOR循环语句初始化变量作用域 [打印本页]

作者: 可见    时间: 2012-3-5 18:18
标题: 关于FOR循环语句初始化变量作用域
for(int x=0;x<5;x++)
{}
for循环结束后x空间释放
如果要继续留着x
是不是可以把x定义在外面
int x;
for(x=0;x<5;x++)
{}

?

作者: 王思兰    时间: 2012-3-5 18:22
成员变量只作用在它所在的大括号内
作者: 黑马肖凯骏    时间: 2012-3-5 18:23
是的,for(int x=0;x<5;x++)
x在for里面属于局部变量,当for循环结束即消失了

int x;
for(x=0;x<5;x++)  你这样定义就不会了,因为开辟了空间
作者: 王思兰    时间: 2012-3-5 18:23
可以定义在外面
作者: 马胜平    时间: 2012-3-5 18:25
如果你觉的这样有用的话,就可以大胆去做
作者: 王利强    时间: 2012-3-5 18:40
定义在外面就可以了,在循环内定义的话,当循环结束的时候就自动释放了
作者: 吴高其    时间: 2012-3-5 18:46
对于for语句来讲,如果将用于控制循环的变量定义在for语句中,那么该变量只在for语句内有效,for语句执行完毕,该变量在内存中被释放。

作者: 陈斌    时间: 2012-3-5 19:45
也可以这样理解,只要定义的变量在{}内、、等程序一执行玩{}变量就被释放了。给你个例子
class  demo

   int sum=0;
public void add(int a)
{
sum=sum+a;
   
}//当运行完这里之后变量a就被释放
System.out.println(sum);
}//当运行完这里之后变量sum就被释放

作者: 付左军    时间: 2012-4-21 15:08
你已经明白了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2