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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 赵嘉男 中级黑马   /  2012-5-20 18:21  /  2164 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.变量有自己的作用域。对于for来讲:如果将用于控制循环的增量定义在for语句中,那么该变量只在for语句内有效。for语句
执行完毕,该变量在内存中释放。
2.for和while可以进行互换。如果需要定义循环增量。用for更合适。
视频里这两句话还是有些不太懂,这个增量就有点乱了。但我知道for用的内存小

7 个回复

倒序浏览
就是如果你有明确的循环次数,那么用for更合算。比如说累加。
如果你只需要 判断循环条件的真假 那么用while更合适。
回复 使用道具 举报
for循环定义的变量是局部变量,只在for{}里面有效,是定义的栈内存中的,while的增量一般是在循环外定义的,会在堆内存中分配空间,花费就高了。for(inti=0,i<10;i++)在循环完成后i会自动释放,while(i<10) {语句;  i++;} i 必须在外部定义,即 int i=?,这样会在堆内存中定义一块存储区域,i指向这款存储区域的地址,循环完毕后不会释放。

评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1 赞一个!

查看全部评分

回复 使用道具 举报
要是有一个例子就好了,什么时候用for,什么时候用while,看了2楼的是明白一点了
回复 使用道具 举报
for:用于循环固定的操作。比如循环执行100次。
while:用于循环固定的操作,或者不固定的操作、或者无限循环。
不固定的循环执行:也就是满足这个条件就行,不需要考虑,它会循环多少次。
如果需要定义循环增量。用for更合适。
也就是说:for循环比较方便,比如for(int  i= 0 ,i<10;  i++){  ………………………………}
i  的作用域就存在在for语句里面。当用完后,系统的垃圾回收机制就会自动的对 i 进行回收。
如果用while循环,这个自增变量就要定义在while(){}语句的外面了。 自增变量的作用域是整个类。  
所以用for 更适合一些。
回复 使用道具 举报
也别想的那么复杂,你用哪个习惯就用哪个,没有多大的区别,用习惯就好了
回复 使用道具 举报
杨康 中级黑马 2012-5-20 19:14:30
7#
在for循环定义变量的时候,是在内存的栈空间开辟一块地方,当这个循环执行完毕的时候,该空间会自动释放,不会占用内存空间。
如果将变量定义到while内的话,假如该变量时控制循环的,会使循环变成死循环。
回复 使用道具 举报
for和while的特点:

  1.for和while可以互换。

  2.格式上的不同,在使用上有点小区别。

     如果需要通过变量来对循环进行控制,该变量只作为循环增量存在时,区别就体现出来了。



什么时候使用循环结构呢?

   当对某些代码执行很多次时,使用循环结构完成。



   当对一个条件进行一次判断时,可以使用if语句。

   当对一个条件进行多次判断时,可以使用while语句。



   注意:

       在使用循环时,一定要明确哪些语句需要参与循环,哪些不需要。

       循环通常情况下,需要定义条件,需要控制次数。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马