java,eclipse,为什么for死循环会报红,while死循环不会?

请大神详细指点一下,谢谢,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)才是死循环呀