java 关于死循环报不报错的问题

for(;;){}System.out.println("hellojava");这样就报错。。。由于for是死循环,所以输出语句是不可达代码,所以就报错而这样intn=... for(;;){

}
System.out.println("hello java");
这样就报错。。。由于for是死循环,所以输出语句是不可达代码,所以就报错
而这样
int n = 100;
while(n>0);
System.out.println("hello java");
系统却不报错,同样是死循环,同样不会执行输出语句,为什么这个就不报错啊
展开
 我来答
townsin
2013-08-30 · TA获得超过452个赞
知道小有建树答主
回答量:594
采纳率:50%
帮助的人:512万
展开全部
因为前一种是必死,后一种却是有条件的死,编译的时候不知道将来执行时是否满足条件,虽然人能一眼看出来是必死,可是编译器看起来就难了
junwithting
2013-08-30
知道答主
回答量:19
采纳率:0%
帮助的人:9万
展开全部
你是在MyEclipes里面写的程序吧。软件会自动检测的,明显的知道你for循环是个死循环。后面的你传递的是个参数,编译器并不确定他。就像很常见的空指针异常一样,运行的时候才会知道。
追问
“后面的你传递的是个参数,编译器并不确定他”。。。这个,是什么意思啊?

传递n给while判断吗,不判断怎么知道是不是符合while条件啊
追答
while只是判断括号里面表达式的结果是否是boolean值,并不知道是否是死循环。for循环那样写编译器可以判断他是死循环了,后面的语句就不可达了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
殇封落
2013-08-30
知道答主
回答量:33
采纳率:0%
帮助的人:14.2万
展开全部
for循环不能参数全省略。
追问

可以的哦

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式