C#入门4.5——布尔运算符_编译器

&&与      //全真为真

||或        //有真就真

!非       //全假为真

^异或  //一真一假为真

你们可能会问:为什么会有&和|运算符,原因是两个运算符可用于对数值执行操作。实际上,它们处理的是存储在变量中的一系列位,而不是变量的值。


这么说吧,

&&是布尔运算符,&是位运算符。

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,那么就不用看右边了,这样很省时间,用专家的话讲叫 优化 。