&&与 //全真为真
||或 //有真就真
!非 //全假为真
^异或 //一真一假为真
你们可能会问:为什么会有&和|运算符,原因是两个运算符可用于对数值执行操作。实际上,它们处理的是存储在变量中的一系列位,而不是变量的值。
这么说吧,
&&是布尔运算符,&是位运算符。
Console.WriteLine(a>b&&b<a); 结果为 True。
&&的运算过程是 a>b为True b<a为True ,所以 结果为True。
Console.WrierLine(5&4);结果为4。
&的运算过程是
5转换成2进制=101,4转换成2进制=100,
它们每一位进行&对比,11对比=1,00对比=0,10对比=0,所以结果为100。那么输出就是4了。
而&&布尔运算符无法进行位层次的对比,如果强行试试5&&4,那么编译器会报错。
其他的方面&&和&就没什么太大差异了。
另外能用&&运算符就用&&运算符,因为&&运算符如果左边是false,那么就不用看右边了,这样很省时间,用专家的话讲叫 优化 。