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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 土豆泥 中级黑马   /  2013-12-1 17:22  /  1610 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 土豆泥 于 2013-12-5 10:52 编辑

有个很小白的问题,就是循环语句里有while循环,还有do while循环,也有for循环。感觉大体上,互相都可以替代,那弄出来这些种循环的依据是什么,有什么非有不可的理由吗

评分

参与人数 1技术分 +1 收起 理由
追溯客 + 1

查看全部评分

8 个回复

倒序浏览
for循环一般都是知道循环次数的,比如for(int i=0;i<100;i++)可以很好的控制循环的次数
而while和do--while这两个循环在的差别就是先判断后执行和先执行后判断的区别
while可以一遍都不执行,do--while最少可以执行一次
循环方法间很多时候可以互换,但是不是很方便,选择最适合的方法

评分

参与人数 1技术分 +1 收起 理由
V_John + 1

查看全部评分

回复 使用道具 举报
while循环:当某个条件为true时,重复执行一段代码,先判断再执行;
do...while循环:先执行一遍代码,再判断条件;
for循环:先判断是否满足条件,再循环执行代码。
while一般用在知道循环条件,不确定循环次数的循环;而for一般用在循环次数固定的循环。

评分

参与人数 1技术分 +1 收起 理由
V_John + 1

查看全部评分

回复 使用道具 举报
        while适用于不知道具体循环次数的情况,例如i每循环一次加1,当i大于100时停止循环,当不知道i的具体值时就没办法判断具体要循环几次。        而for循环一般用在知道循环在什么时候结束的情况,例如需要一次记录十个学生的信息,就需要循环10次,这样用for循环比较容易理解。
        do while与while的区别在于:while是先判断条件再执行循环语句,而do while是先执行一遍循环语句,然后再判断条件,极端情况下while可能一次都不会执行循环语句,而do while 至少会执行一次循环语句。

评分

参与人数 1技术分 +1 收起 理由
V_John + 1

查看全部评分

回复 使用道具 举报
本帖最后由 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循环结束

评分

参与人数 1技术分 +1 收起 理由
V_John + 1

查看全部评分

回复 使用道具 举报 1 0
这是根据实际需要而设计的,do-while是先进行一次循环,而后进行判断,while是先进行判断,再循环,这就可能一次也不循环,因为可能根本不满足条件。而for循环是要设置初始值,步进值,和终止值,但是有时候for循环不能满足我们的需要,比如要用户一定要求的内容,用户可能会输入错误,你用for循环就无法实现在输入错误的时候提示用户重新输入,并且继续等待用户输入,因为用户输入错误的次数是不确定的

评分

参与人数 1技术分 +1 收起 理由
V_John + 1

查看全部评分

回复 使用道具 举报
V_John 中级黑马 2013-12-2 12:34:59
7#
如果问题得到解决,请修改为已解决
回复 使用道具 举报
三种循环是有区别的,for循环用于已知循环次数,只有已知循环次数才能用for循环;while循环用于先判断后执行,do while循环用于先执行后判断,while循环有可能一次都不执行,do while循环至少执行一次,做题的时候根据条件选择最合适的循环

评分

参与人数 1技术分 +1 收起 理由
V_John + 1

查看全部评分

回复 使用道具 举报
for循环是用来解决你确切知道循环次数的某些循环,比如我要求1到100的整数和,这个问题用for就会很简洁,while和do-while循环大多是的判断条件是不等于或者等于,我们不知道具体的循环次数,这时用while和do-while比较简洁,循环是都可以相互替代,但我们要找到最合适的那一个来解决问题。

评分

参与人数 1技术分 +1 收起 理由
V_John + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马