| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1054 人关注过本帖
标题:[讨论]这个会是死循环吗?
只看楼主 加入收藏
wxhwjsw
Rank: 1
等 级:新手上路
帖 子:274
专家分:0
注 册:2006-6-15
收藏
 问题点数:0 回复次数:17 
[讨论]这个会是死循环吗?
public class A{
public static void main(String[] args){
boolean flag = false;
int i = 0;
do{
System.out.print(i++);
flag = i < 10;
continue;
}while(flag == true);
}
}
这个会是死循环吗? 执行了continue是到while 还是到do?
搜索更多相关主题的帖子: false public continue void 
2006-08-09 15:34
NiceGirl
Rank: 2
等 级:新手上路
威 望:4
帖 子:909
专家分:0
注 册:2006-6-18
收藏
得分:0 
以下是引用wxhwjsw在2006-8-9 15:34:59的发言:
public class A{
public static void main(String[] args){
boolean flag = false;
int i = 0;
do{
System.out.print(i++);
flag = i < 10;
continue;
}while(flag == true);
}
}
这个会是死循环吗? 执行了continue是到while 还是到do?

这里的有没有continue都一样,continue的意思是循环到continue后,不执行continue后的语句,直接跳到下一次循环


曾经以为百般艰难,蓦然回首,才发现已飞渡千山。。!
2006-08-09 16:28
wxhwjsw
Rank: 1
等 级:新手上路
帖 子:274
专家分:0
注 册:2006-6-15
收藏
得分:0 
以下是引用NiceGirl在2006-8-9 16:28:26的发言:

这里的有没有continue都一样,continue的意思是循环到continue后,不执行continue后的语句,直接跳到下一次循环

你说的不完全...那么看这个程序...
public class Test{
public static void main(String[] args){
boolean flag = false;
int i = 0;
do{
System.out.print(i++);
continue;
//flag = i < 10;
//continue;
}while(flag == true);
}
}
你认为它是什么啊?


一个人的快乐,不是因为他拥有的多,而是因为他计较的少.
2006-08-09 16:43
走火
Rank: 1
等 级:新手上路
帖 子:426
专家分:0
注 册:2005-12-28
收藏
得分:0 
楼上两位真厉害,我运行了一下,
终于明白了
continue的意思是循环到continue后,不执行continue后的语句,
但要跳到while(flag == true);条件表达式判断后为真才跳到下一次循环.
如果不这样,就如楼猪的问题是个死循环.

下面的例子加了注释就没有给flag负值了.
判断时就用的flag的初值.所以只执行一次.


如二楼所说你这个程序有没有continue都一样的.
因为你加的注释应该只加在//continue上
第二个程序结果不同是因为你把修改flag值的语句注释了
不知我理解得对吗

[此贴子已经被作者于2006-8-9 17:53:26编辑过]


我是一只小菜鸟,请大家多多照顾! QQ 87135637
2006-08-09 17:50
走火
Rank: 1
等 级:新手上路
帖 子:426
专家分:0
注 册:2005-12-28
收藏
得分:0 
楼主以后多出个这些题
THANK YOU
谢了

我是一只小菜鸟,请大家多多照顾! QQ 87135637
2006-08-09 17:54
NiceGirl
Rank: 2
等 级:新手上路
威 望:4
帖 子:909
专家分:0
注 册:2006-6-18
收藏
得分:0 
以下是引用wxhwjsw在2006-8-9 15:34:59的发言:
public class A{
public static void main(String[] args){
boolean flag = false;
int i = 0;
do{
System.out.print(i++);
flag = i < 10;
continue;
}while(flag == true);
}
}
这个会是死循环吗? 执行了continue是到while 还是到do?

我不知道你想告诉我些什么?首先,你这句话问的就有问题,
do~while循环就是说无论条件是否满足,都至少执行一次循环,也就是说,循环执行一次后等同于while循环,
那你说这里跳到哪呢?


曾经以为百般艰难,蓦然回首,才发现已飞渡千山。。!
2006-08-09 18:00
NiceGirl
Rank: 2
等 级:新手上路
威 望:4
帖 子:909
专家分:0
注 册:2006-6-18
收藏
得分:0 
以下是引用wxhwjsw在2006-8-9 16:43:28的发言:

你说的不完全...那么看这个程序...
public class Test{
public static void main(String[] args){
boolean flag = false;
int i = 0;
do{
System.out.print(i++);
continue;
//flag = i < 10;
//continue;
}while(flag == true);
}
}
你认为它是什么啊?

continue是执行下一次的循环,不是重新开始循环。。


曾经以为百般艰难,蓦然回首,才发现已飞渡千山。。!
2006-08-09 18:01
ccj_999
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-5-24
收藏
得分:0 
我觉得这个程序里的continue一点意义都没有啊,continue后面不能再有其他语句了,如果有,编译时候根本通不过的,说:unreachable statement.不知道楼主把continue加在那里什么意思呢。比较同意NiceGirl的说法。
2006-08-09 18:20
wxhwjsw
Rank: 1
等 级:新手上路
帖 子:274
专家分:0
注 册:2006-6-15
收藏
得分:0 
你们看我帖了三楼的程序了吗??  如果你们说到下一次循环  那么do--while这个结构是先执行do吧  那你的意思不就是再跳到下次循环去做do了吗???

那么这不是一个死循环了吗?

一个人的快乐,不是因为他拥有的多,而是因为他计较的少.
2006-08-10 10:17
hujf_go
Rank: 1
等 级:新手上路
帖 子:46
专家分:0
注 册:2006-5-13
收藏
得分:0 
四楼的理解是正确的

天未塌,我还在,就让风雨迎面来~
2006-08-10 12:47
快速回复:[讨论]这个会是死循环吗?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.059132 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved