编译的时候就发现,你写的while(1==2) 后面的代码永远不会被执行

解决方案 »

  1.   

    ----------------------------
    java技术论坛wwww.foxou.cn欢迎您
      

  2.   

    我只是奇怪这个问题本身  至于后面的执行不执行无关紧要   而且现在发现 while(!(1==2))是OK的  但  while(!(1==1)) 就不行  如果是 while(!(1>1)) 就OK  原理是什么样 哪位大大来解答一下
      

  3.   

    提示当为false时循环里面的语句就不会执行,估计是jdk的编译器
      

  4.   

    int a1=1;
    int b2=0;
    while(a1==b2)但是这个也是false啊  是OK的哦
      

  5.   

    这个牵涉到静态编译的问题,在编译的时候,编译器会自动将常量转为代表的值,将这些值经过计算后,编译器发现循环条件为恒false,也就是后面的代码永远无法执行,出于理性的考虑,一般没有这种需要,所以就认为是程序员的错误。
      

  6.   


    if(true) throw new Exception(xxxxxx);
    一样
    常用这个调试
      

  7.   

    不用深究这类问题吧 · ·
      可能是JDK不是很完善吧··直接用TURE FALSE 就可以了··
      

  8.   

    首先一点WHILE内的内容要执行就要
    条件为真执行,条件为假跳出。
    而你让条件为假。循环一值不能值行当然有错了。
    也是就是说WHILE中的条件不能始终为假
    因为在JAVA中不能到达的代码是一种错误我就不用说了
    当然DO。。WHILE的条件和这里的就不样了