黑马程序员技术交流社区

标题: do while存在的意义是什么? [打印本页]

作者: BitmapFactory    时间: 2013-3-10 16:34
标题: do while存在的意义是什么?
本帖最后由 张学林 于 2013-3-20 15:17 编辑

<FONT color=red><FONT face="Times New Roman"><FONT face=Tahoma><FONT color=#444444></FONT></FONT></FONT></FONT>


while:
先判断条件,只有条件满足才执行循环体
do while:先执行循环体,在判断条件,条件满足,再继续执行循环体
简单一句话:do while:无论是否满足,循环体至少执行一次
今天在看视频的时候讲到这两个的区别,想知道既然do while总会执行一次循环体内的内容而不需要判断条件
do while存在的意义是什么呢,这个在开发中会用到吗?
在开发中写循环语句,肯定是要判断条件满不满足的吧,用while就已经够用了,do while也没有什么优势
在网上搜了一下,搜到的内容大部分是讲它怎么用,而没说它有什么用,个人觉得do while的用法可以去掉,这就是一个鸡胁啊

希望有知道的人能帮忙说下


<a href=http://www.baidu.com>百度</a>
百度
作者: 张宁    时间: 2013-3-10 22:39
朋友,循环都是可以互相转换的,do while 先执行一遍,然后再while 判断,而while 是先判断,后执行,这是两种思维模式,可能大部分情况下都可以互相替代,但是存在就是合理的。有些情况下,比如说要先进行操作,在进行判断的情况。在银行系统里边,先判断操作,然后在判断条件。我以前做过银行项目,虽然是C#,但是还是了解一点。碰到了就知道他的优点了,不要小看着少循环一次,数据大的时候,就能显示出他的优势了。
作者: BitmapFactory    时间: 2013-3-10 22:43
张宁 发表于 2013-3-10 22:39
朋友,循环都是可以互相转换的,do while 先执行一遍,然后再while 判断,而while 是先判断,后执行,这是 ...

谢谢了,只是个人感觉没用,想知道是不是在真实开发中能用上,而且有什么优势,谢谢了
作者: 张宁    时间: 2013-3-10 22:48
张学林 发表于 2013-3-10 22:43
谢谢了,只是个人感觉没用,想知道是不是在真实开发中能用上,而且有什么优势,谢谢了 ...

记住思想就好。知道他的优势在哪里就好
作者: 李红志    时间: 2013-3-11 01:31
do循环和while循环非常相似,主要区别在于检测条件的位置。while循环在循环执行前检测条件,因此如果首次检测时条件就为false,则循环体一次也不会被执行。do循环在检测条件之前至少执行一次,因此如果首次检测时条件为false,则循环体已执行一次了。

这就是向老爸借车和先斩后奏的区别。在第一种情况下,如果老爸拒绝,你将借不到车;在第二种情况下,如果老爸拒绝,你已经结果一次了。这样说你明白吗
作者: 聂斌    时间: 2013-3-11 01:37
呵呵同学:
既然java里面有do while那么就有他存在的意义:

下面是我想到的do while在生活中应用的例子;

假如我们要做一个自动提款机的程序。你想一下,我们在插入银行卡后,输入完密码。如果输入正确的,首先不知道我们要进行什么操作所以首先显示一个 有存款 ,取款 ,转账 的界面。这时就用到了do-while(下面的程序只是一种思想,只是方便你理解的。不是真正能跑起来的程序)
do{
   进入显示有存款 取款 转账的界面;
   if(按下存款键) 去执行存款操作;
   if(按下取款键 )去执行取款操作;
   if (按下转账键)去执行转账操作;
   if(按下取卡键)break;
}while(l)
就是说首先进入显示界面;做完某项操作后还是会进入显示界面,直到按下取卡键,推出这个程序。

适合解决:
需要用户输入信息(如增加信息),输完以后,再进行是否继续输入的操作..总之需要先执行后判断的问题就使用do while



作者: BitmapFactory    时间: 2013-3-11 06:46
聂斌 发表于 2013-3-11 01:37
呵呵同学:
既然java里面有do while那么就有他存在的意义:

谢谢聂斌和张宁了,说的很有道理,这是我想要的答案




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