我想问一下,为什么while(true){}以后的语句不可达会被编译器检测出来?比如:
while(true)
{}
int a = 1;
为什么编译器能够检测出这种错误?大牛们帮我讲解下吧..谢了!

解决方案 »

  1.   

    while语句死循环,执行不到int a=0;这句。
      

  2.   

    编译器编译的时候发现了while(true){}结构后就再往下找结束的括号,如果竟然还有需要执行的语句就会提示错误。。
      

  3.   

    如果想while(true)后面的语句不报错,只要加个变量就行了
    boolean b = true;
    while(b){
    }
    ......
    这样其他部分控制b就可以控制循环什么时候终止了
      

  4.   

    while(true) {} int a = 1; int a = 1; 这个语句怎么访问呢?你的代码在true那里不断的进行循环,后面的语句根本无法访问。