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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 354620815 中级黑马   /  2014-10-4 19:03  /  2760 人查看  /  27 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

while(true){...} 和 for( ; ; ){....}
有什么区别?

27 个回复

倒序浏览
本帖最后由 xuanguofeng 于 2014-10-4 19:07 编辑

while循环:先进行条件判断,再执行循环体,如果条件不成立,退出循环。for循环:限制性变量初始化部分,再进行循环条件判断,然后执行循环体,最后进行循环变量的计算。如果条件不成立,跳出循环。

回复 使用道具 举报
while 你不知道要循环几次,而for则相反
我想最大的区别就是这个
回复 使用道具 举报
确定循环次数用for,不确定用while
回复 使用道具 举报
两者可以互相转换的   只是代码上写法不同   确定循环次数的用for更方便,不确定循环次数用while更方便   仅此而已
回复 使用道具 举报
以前用C时记得for(;;)循环效率要高些,JAVA不知道
回复 使用道具 举报
for可以确定循环次数哦,while根据循环条件判断,不能确定循环次数
回复 使用道具 举报
这两个都是简单的无限循环,貌似没什么区别
回复 使用道具 举报
九零零 发表于 2014-10-4 22:00
这两个都是简单的无限循环,貌似没什么区别

for怎么是无限?
回复 使用道具 举报
1、变量的生命周期不同。
2、定义的初始化变量,操作完后还要继续使用,用while循环。
回复 使用道具 举报
针对上面两个循环都是无限循环,没有任何区别!
回复 使用道具 举报
while(true){...}是无限循环,但是里面的条件也是可以换的,
for( 1;2 ;3 ){....}和 1 while(2){... 3} 效果一样。
回复 使用道具 举报
其实这两种写法区别不大,比如
  1. for(int=0;i<10;i++){
  2. system.out.print(i);
  3. }


  4. int i=0
  5. while(i<10){
  6. System.out.print(i);
  7. }
复制代码

打印的结果都一样,而执行效率方面也基本没什么太大区别,楼主可以看下这遍文章http://jarg.iteye.com/blog/1005821
回复 使用道具 举报
区别就是......楼上正解
回复 使用道具 举报

如果for循环没有写控制条件就是默认为ture,所以就是无限循环啊
回复 使用道具 举报
九零零 发表于 2014-10-5 21:57
如果for循环没有写控制条件就是默认为ture,所以就是无限循环啊

嗯嗯 刚开始没看清要求。
回复 使用道具 举报
都挺有道理的。。。
回复 使用道具 举报
Imp_x 高级黑马 2014-10-5 23:07:50
18#
kid1943 发表于 2014-10-5 09:29
其实这两种写法区别不大,比如

打印的结果都一样,而执行效率方面也基本没什么太大区别,楼主可以看下这遍 ...

在循环外面再输出一次i的值有惊喜{:3_67:}
回复 使用道具 举报
循环次数的区别 for循环指定循环次数 而while则是条件循环
回复 使用道具 举报
kid1943 发表于 2014-10-5 09:29
其实这两种写法区别不大,比如

打印的结果都一样,而执行效率方面也基本没什么太大区别,楼主可以看下这遍 ...

while里面写小了i++不好意思
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马