问题:为什么代码中 while(true);会出错?
public class Test3{
public static void main(String[] args){
int a = 0;
do{
a = 10;
}while(a == 0); //right
      //}while(true); erro!
System.out.println("" + a);
}
}

解决方案 »

  1.   

    这里是一个死循环,后面的system.out.println("" + a);是不会执行的
      

  2.   

    如果用while(true),编译器会检测到后面的System.out.println("" + a);不可达,所以报错。
      

  3.   

    java的编译器比较有意思,呵呵。
      

  4.   

    恩,这个有点意思
    测试你会发现,while(true)是要和break配合使用的
    下面的不会错:
    while(true){
      break;
    }
      

  5.   

    o,我理解错了
    填true会死循环
      

  6.   

    事实上在多线程中
    while(true){break;}
    是很经常的写法
      

  7.   

    事实上在多线程中
    while(true){break;}
    是很经常的写法