while(stopFlag == false) 好  还是 while(!topFlag)

解决方案 »

  1.   

    我觉得都一样,一般while(!topFlag)这么写的多吧
      

  2.   

    应该是 while(!topFlag) 这个好,不用比较直接就可以得出结果的;而 while(stopFlag == false),要取值再比较再得出结果的,不过比较直观一些。
      

  3.   

    while(!topFlag)高手都是这样写的!
      

  4.   

    写程序讲解的是直观,用最直接简单的方法来表示一件事情能用直接肯定 就不要用 双重否定来表示肯定,等等等等所以“while(stopFlag == false) 好  还是 while(!topFlag)”2个基本都算可以  但while(!topFlag)更适合理解一些
      

  5.   

    如果是 while(stopFlag == false) 和 while(!topFlag)
    结果是一样的,编译器会把这两个条件判断转换成
    iload_<n> //从局部变量区的第n个参数把stopFlag读出来,压入java栈
    ifne m  //如果不等于0,则跳转到标号为m的语句但是,如果是 while(stopFlag == true) 和 while(topFlag)就不一样了
    对于while(topFlag),编译后对应
    iload_<n>
    ifeq m
    对于while(stopFlag == true),编译后对应
    iload_<n> 
    iconst_1  // int常量1入栈,就是true
    if_icmpne m   //如果这两个int不相等则跳转到m. 可以看出,演变成了两个int进行比较值得一提的是,由于虚拟机并不直接支持boolean, 所以编译器总是会用int表示boolean