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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© HM李帅 中级黑马   /  2013-3-11 10:50  /  1390 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 HM李帅 于 2013-3-12 13:03 编辑

关于四种循环  效率上是一样的吗 如果不一样  请详述原因。。。

评分

参与人数 1黑马币 +9 收起 理由
黄玉昆 + 9

查看全部评分

6 个回复

倒序浏览
我只知道 for while do while三种循环,您说的四中循环是哪一个,效率的高低这个说不准,具体情况具体对待,您可以些一个例子,帮你分析一下。
回复 使用道具 举报
while循环:当条件满足时,才执行循环
do-while循环:至少执行一次循环,再判断是否满足条件
for循环:类似于while循环,但是将while循环的初始化部分和迭代部分与循环条件放在一起
for each循环或者增强型for循环:用于在数组中或实现了迭代的集合类中实现遍历
通常情况下建议使用for循环

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
张宁 发表于 2013-3-11 11:03
我只知道 for while do while三种循环,您说的四中循环是哪一个,效率的高低这个说不准,具体情况具体对待 ...

应该是还有一种顺序循环!就是最简单的那种循环!
回复 使用道具 举报
个人理解应该是 看你写的是怎样的代码,比如你用for循环可能写2行就能实现你要的需求,而用do while却需要8行代码实现,这时候效率就显而易见了!我们要做的还是 要提高代码的复用性!复用性提高了 效率也就提高了!
回复 使用道具 举报
本帖最后由 邹学良 于 2013-3-11 11:27 编辑

JAVA中的常见循环语句共有4种:
while语句  do while语句 for语句  高级for语句
while 语句是Java 最基本的循环语句。当它的控制表达式是真时,while 语句重复执行一个语句或语句块。它的通用格式如下:
while(condition)   {。。。}
  条件condition 可以是任何布尔表达式。只要条件表达式为真,循环体就被执行。当条件condition 为假时,程序控制就传递到循环后面紧跟的语句行。

do {。。。} while (condition);
do-while 循环总是先执行循环体,然后再计算条件表达式。如果表达式为真,则循环继续。否则,循环结束。对所有的Java 循环都一样,条件condition 必须是一个布尔表达式,也就是比while语句少执行了一次循环。

for(initialization; condition; iteration) {。。。}
for循环的执行过程如下。第一步,当循环启动时,先执行其初始化部分。通常,这是设置循环控制变量值的一个表达式,作为控制循环的计数器。重要的是你要理解初始化表达式仅被执行一次。下一步,计算条件condition 的值。条件condition 必须是布尔表达式。它通常将循环控制变量与目标值相比较。如果这个表达式为真,则执行循环体;如果为假,则循环终止。再下一步执行循环体的反复部分。这部分通常是增加或减少循环控制变量的一个表达式。接下来重复循环,首先计算条件表达式的值,然后执行循环体,接着执行反复表达式。这个过程不断重复直到控制表达式变为假。

for(initialization:iteration){。。。}
而高级FOR语句是直接在给定条件下进行遍历

所以这4种循环体在执行同一个循环执行体时的效率从高到低依次是:while语句  do while语句 for语句  高级for语句

评分

参与人数 1技术分 +1 收起 理由
贾文泽 + 1 赞一个!

查看全部评分

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