表达式值为0,非一下,就是1,表达式的值为非零,非一下,就是0.
也就是说...
!0就等于1
!1就等于0
!2就等于0.........
!8就等于0
再比如表达式,int a=2,b;
b=!a;
那么b的值就等于0
逻辑非运算符为“!”。表示把它右边的逻辑运算结果取反。
如果 if(a==0),当a=0时 a==0为真 所以 满足if(a===0)这个条件。
如果if(!a===0)表示把 a===0这个逻辑运算的结果"真"取反,也就是假。
if(!a==0) 其实就是表示 if(a不等于0)
注:==是关系运算符,=是赋值运算符。这个不用解释了吧。
逻辑非就是取逻辑上相反的值,比如真,逻辑非就是不真,0 的逻辑非就是非0
你学过集合吧,其实逻辑非相当于求补集
但是在语言里面要求任何语义都有明确的定义,比如非真,就是假,非0就是1(true 和false)
!8 就是 0
在逻辑运算中,所有非零的数都看作1,0看作0,这样可以和true,false对应起来。
非就是取对立面,对立是集合中的概念。
就是符号‘!’,意思就是否定嘛 比如!0 就是不等于0 !1就是不等于1