System.out.println(isTable =! isTable);--------trueSystem.out.println(isTable != isTable);---------false
有趣

解决方案 »

  1.   

    赋值语句呀,就是将!isTable付给isTable,也就是改变原来isTable的值,现在isTable为true,同时因为isTable为true,所以执行if语句,下次就该执行else中的语句了。
      

  2.   

    这个正常了,
    if(isTable=isTable)是合法的
    当然if(isTable=!isTable)也是合法的
    相当于isTable=(!isTable)最后,isTable的值应该是true
      

  3.   

    这种写法是正确的吧。
    因为isTable是boolean类型的变量。
    那么!isTable类型就是对该boolean取”反“,也就是“非”操作。运算级别很高。
    然后这句isTable=!isTable就是一句赋值语句。就是把自己“取反”在赋值给自己呗。最后放置在if里边就是
    if(isTable){
    }
    else{
    }
    其实把上面的这段程序拆开来,你也许就明白了:
    boolean isTable=false;//变量声明
    isTable = !isTable;//这两句你完全可以看成int a = 0; a= a+1;之类的做
                        //法。只是boolean类型每次!操作之后,true,false
                         //是互换的嘛!if(isTable){
    ...
    }
    else{
    ...
    }
      

  4.   

    isTable =!isTable什么意思:
       可以这样理解:1。  !isTable (就是true了!)
                     2。isTable = true !
    呵呵!
    懂了吗?
    如果,这两句是连着的话,就不可能执行if()了,直接到else()了,从逻辑上来讲是这样的!其实,在很多的地方都可能用到的,就是把它的值变反!
    false变成 true
    true 变成 false