黑马程序员技术交流社区
标题: 关于循环的小白问题 [打印本页]
作者: 土豆泥 时间: 2013-12-1 17:22
标题: 关于循环的小白问题
本帖最后由 土豆泥 于 2013-12-5 10:52 编辑
有个很小白的问题,就是循环语句里有while循环,还有do while循环,也有for循环。感觉大体上,互相都可以替代,那弄出来这些种循环的依据是什么,有什么非有不可的理由吗
作者: 轮回 时间: 2013-12-1 18:07
for循环一般都是知道循环次数的,比如for(int i=0;i<100;i++)可以很好的控制循环的次数
而while和do--while这两个循环在的差别就是先判断后执行和先执行后判断的区别
while可以一遍都不执行,do--while最少可以执行一次
循环方法间很多时候可以互换,但是不是很方便,选择最适合的方法
作者: 黑马—严守卫 时间: 2013-12-1 19:51
while循环:当某个条件为true时,重复执行一段代码,先判断再执行;
do...while循环:先执行一遍代码,再判断条件;
for循环:先判断是否满足条件,再循环执行代码。
while一般用在知道循环条件,不确定循环次数的循环;而for一般用在循环次数固定的循环。
作者: 第六天魔王 时间: 2013-12-1 20:01
while适用于不知道具体循环次数的情况,例如i每循环一次加1,当i大于100时停止循环,当不知道i的具体值时就没办法判断具体要循环几次。 而for循环一般用在知道循环在什么时候结束的情况,例如需要一次记录十个学生的信息,就需要循环10次,这样用for循环比较容易理解。
do while与while的区别在于:while是先判断条件再执行循环语句,而do while是先执行一遍循环语句,然后再判断条件,极端情况下while可能一次都不会执行循环语句,而do while 至少会执行一次循环语句。
作者: Dongjiawei 时间: 2013-12-1 20:15
本帖最后由 Dongjiawei 于 2013-12-1 20:22 编辑
while 语法:
while(循环条件) //条件叫:循环条件
{
要循环执行的N条程序; //循环体
}
特点:先判断,再执行
执行过程:
1 先判断循环条件,如果条件为true,则转向2;如果条件为false,则转向3
2 执行循环体,循环体执行完后转向1
3 跳出循环,循环结束
do-while 语法:
do
{循环体;}
while(条件);
执行过程:
1. 执行循环体
2. 判断条件是否成立,如果条件为true,则转向1.如果条件为false,则转向3
3. 跳出循环,循环结束
假如循环条件一开始就不成立,对于while循环,一次都不会执行.对于do-while循环体会执行一次.
所以,do-while的循环体一般至少会被执行一次.
while先判断,后执行.
do-while先执行,后判断.
For 循环:
语法:
For(表达式1;表达式2;表达式3)
{
循环体;
}
For循环,一般用于已知循环次数的循环
一般情况,表达式1:用于定义循环变量和对循环变量赋初值
表达式2:循环条件
表达式3:用于改变循环变量的值
执行过程:
第1步计算表达式1,转向第2步
第2步计算表达式2(循环条件),如果表达式2的值为true转向第3步.如果表达式2的值为false,转向第5步.
第3步执行循环体,转向第4步
第4步执行表达式3,转向第2步
第5步循环结束
作者: 不明觉厉 时间: 2013-12-2 10:46
这是根据实际需要而设计的,do-while是先进行一次循环,而后进行判断,while是先进行判断,再循环,这就可能一次也不循环,因为可能根本不满足条件。而for循环是要设置初始值,步进值,和终止值,但是有时候for循环不能满足我们的需要,比如要用户一定要求的内容,用户可能会输入错误,你用for循环就无法实现在输入错误的时候提示用户重新输入,并且继续等待用户输入,因为用户输入错误的次数是不确定的
作者: V_John 时间: 2013-12-2 12:34
如果问题得到解决,请修改为已解决
作者: 大牙到潍坊 时间: 2013-12-2 13:27
三种循环是有区别的,for循环用于已知循环次数,只有已知循环次数才能用for循环;while循环用于先判断后执行,do while循环用于先执行后判断,while循环有可能一次都不执行,do while循环至少执行一次,做题的时候根据条件选择最合适的循环
作者: 上帝的尊严 时间: 2013-12-3 12:44
for循环是用来解决你确切知道循环次数的某些循环,比如我要求1到100的整数和,这个问题用for就会很简洁,while和do-while循环大多是的判断条件是不等于或者等于,我们不知道具体的循环次数,这时用while和do-while比较简洁,循环是都可以相互替代,但我们要找到最合适的那一个来解决问题。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |