请大神详细指点一下,谢谢,M~~~MU~~~~
代码如下:
int n = 1;
for (;;) {
}
System.out.println(n);
System会爆红
而:
int n = 1;
while()
;
System.out.println(n);
这个不会
while死循环虽然不会在System行报错,但会在while行报错,错误信息为:
Syntax error on token "(", Expression expected after this token
如果将while() 修改为while(true),那么两种写法都会在System行报错,且错误信息均为:
Unreachable code
至于为什么Eclipse不认为 while()和while(true)是相同的写法,可能要深入到编译器细节,个人觉得似乎也没有深究的必要。
如果对您有帮助,请点击采纳答案好吗,谢谢~~
for(;;) = while(true)
你这里while();后面有个分号,那么while就是空循环了,不做任何操作,也就是说没有循环体语句,所以不会死循环.
while也报啊,while小括号里你不放boolean值那块不报红么?
貌似while(true)才是死循环呀