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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© BitmapFactory 中级黑马   /  2013-3-10 16:34  /  3228 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张学林 于 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>
百度

点评

说实话你这一说,我回忆了一下,在开发中还真没用过do while  发表于 2013-3-10 16:53

评分

参与人数 2技术分 +1 黑马币 +12 收起 理由
admin + 1
黄玉昆 + 12 存在即合理

查看全部评分

6 个回复

倒序浏览
朋友,循环都是可以互相转换的,do while 先执行一遍,然后再while 判断,而while 是先判断,后执行,这是两种思维模式,可能大部分情况下都可以互相替代,但是存在就是合理的。有些情况下,比如说要先进行操作,在进行判断的情况。在银行系统里边,先判断操作,然后在判断条件。我以前做过银行项目,虽然是C#,但是还是了解一点。碰到了就知道他的优点了,不要小看着少循环一次,数据大的时候,就能显示出他的优势了。

点评

有道理,我想知道的就是它能做什么,而不是怎么用它,语法很简单,什么情况下用却不好把握  发表于 2013-3-11 06:48

评分

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

查看全部评分

回复 使用道具 举报
张宁 发表于 2013-3-10 22:39
朋友,循环都是可以互相转换的,do while 先执行一遍,然后再while 判断,而while 是先判断,后执行,这是 ...

谢谢了,只是个人感觉没用,想知道是不是在真实开发中能用上,而且有什么优势,谢谢了
回复 使用道具 举报
张学林 发表于 2013-3-10 22:43
谢谢了,只是个人感觉没用,想知道是不是在真实开发中能用上,而且有什么优势,谢谢了 ...

记住思想就好。知道他的优势在哪里就好
回复 使用道具 举报
do循环和while循环非常相似,主要区别在于检测条件的位置。while循环在循环执行前检测条件,因此如果首次检测时条件就为false,则循环体一次也不会被执行。do循环在检测条件之前至少执行一次,因此如果首次检测时条件为false,则循环体已执行一次了。

这就是向老爸借车和先斩后奏的区别。在第一种情况下,如果老爸拒绝,你将借不到车;在第二种情况下,如果老爸拒绝,你已经结果一次了。这样说你明白吗
回复 使用道具 举报
呵呵同学:
既然java里面有do while那么就有他存在的意义:

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

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

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


点评

有道理,我想知道的就是它能做什么,而不是怎么用它,语法很简单,什么情况下用却不好把握  发表于 2013-3-11 06:48
回复 使用道具 举报
聂斌 发表于 2013-3-11 01:37
呵呵同学:
既然java里面有do while那么就有他存在的意义:

谢谢聂斌和张宁了,说的很有道理,这是我想要的答案
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马