黑马程序员技术交流社区

标题: for和while [打印本页]

作者: 赵嘉男    时间: 2012-5-20 18:21
标题: for和while
1.变量有自己的作用域。对于for来讲:如果将用于控制循环的增量定义在for语句中,那么该变量只在for语句内有效。for语句
执行完毕,该变量在内存中释放。
2.for和while可以进行互换。如果需要定义循环增量。用for更合适。
视频里这两句话还是有些不太懂,这个增量就有点乱了。但我知道for用的内存小
作者: 冯越    时间: 2012-5-20 18:27
就是如果你有明确的循环次数,那么用for更合算。比如说累加。
如果你只需要 判断循环条件的真假 那么用while更合适。
作者: 古银平    时间: 2012-5-20 18:33
for循环定义的变量是局部变量,只在for{}里面有效,是定义的栈内存中的,while的增量一般是在循环外定义的,会在堆内存中分配空间,花费就高了。for(inti=0,i<10;i++)在循环完成后i会自动释放,while(i<10) {语句;  i++;} i 必须在外部定义,即 int i=?,这样会在堆内存中定义一块存储区域,i指向这款存储区域的地址,循环完毕后不会释放。
作者: 赵嘉男    时间: 2012-5-20 18:35
要是有一个例子就好了,什么时候用for,什么时候用while,看了2楼的是明白一点了
作者: 黑马张健    时间: 2012-5-20 18:45
for:用于循环固定的操作。比如循环执行100次。
while:用于循环固定的操作,或者不固定的操作、或者无限循环。
不固定的循环执行:也就是满足这个条件就行,不需要考虑,它会循环多少次。
如果需要定义循环增量。用for更合适。
也就是说:for循环比较方便,比如for(int  i= 0 ,i<10;  i++){  ………………………………}
i  的作用域就存在在for语句里面。当用完后,系统的垃圾回收机制就会自动的对 i 进行回收。
如果用while循环,这个自增变量就要定义在while(){}语句的外面了。 自增变量的作用域是整个类。  
所以用for 更适合一些。
作者: 陆建平    时间: 2012-5-20 18:46
也别想的那么复杂,你用哪个习惯就用哪个,没有多大的区别,用习惯就好了

作者: 杨康    时间: 2012-5-20 19:14
在for循环定义变量的时候,是在内存的栈空间开辟一块地方,当这个循环执行完毕的时候,该空间会自动释放,不会占用内存空间。
如果将变量定义到while内的话,假如该变量时控制循环的,会使循环变成死循环。
作者: 李保成    时间: 2012-5-20 19:35
for和while的特点:

  1.for和while可以互换。

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

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



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

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



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

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



   注意:

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

       循环通常情况下,需要定义条件,需要控制次数。





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