1.逻辑运算符 & 与

//逻辑运算符 & |  && ||  ! ^
            // T:true  ,F:false
            // & 与:  (如果一个条件为false 另外一个正常走)  T&T=T   T&F=F   F&T=F    F&F=F
            Console.WriteLine(10 > 20 & 10 < 14); //false
            Console.WriteLine(10 < 20 & 10 < 14); //true
            Console.WriteLine(10 > 20 & 10 > 14);//false
            Console.WriteLine(10 < 20 & 10 > 14); //false

2.逻辑运算符 && 并且(短路)

            //&& 并且,会造成短路(如果一个条件为false 另外一个就不走了)   T&&T=T   T&&F=F   F&&T=F    F&&F=F
            Console.WriteLine(10 > 20 && 10 < 14); //false
            Console.WriteLine(10 < 20 && 10 < 14); //true
            Console.WriteLine(10 > 20 && 10 > 14);//false
            Console.WriteLine(10 < 20 && 10 > 14); //false

3.& 和 && 的区别(测试代码)

            //& 和 &&  在一个条件为false的情况 。看看另外一个条件走走
            //int a = 3, b = 4;
            //bool result = a > b & a++ == 3;
            //Debug.Print("result = " + result); //false
            //Debug.Print("a = " + a);//4 证明后面的a++已经执行了


            int a = 3, b = 4;
            bool result = a > b && a++ == 3;
            Debug.Print("result = " + result); //false
            Debug.Print("a = " + a);//3 证明后面的a++不执行

4.  | 或 运算

            //| 和 ||
            // | 或 :  T|T=T   T|F=T   F|T=T    F|F=F
            Console.WriteLine(10 > 20 | 10 < 14); // true
            Console.WriteLine(10 < 20 | 10 < 14); //true
            Console.WriteLine(10 > 20 | 10 > 14);//false
            Console.WriteLine(10 < 20 | 10 > 14); //true

5.  || 或者 运算(短路)

            // || 或者 会造成短路  T||T=T   T||F=T   F||T=T    F||F=F

            Console.WriteLine(10 > 20 || 10 < 14); // true
            Console.WriteLine(10 < 20 || 10 < 14); //true
            Console.WriteLine(10 > 20 || 10 > 14);//false
            Console.WriteLine(10 < 20 || 10 > 14); //true

6.  第八段:| 和 || 的区别(测试代码

            //| 和 || 的区别 ,一个条件成立之后 再看看另外一个条件走不走
            int a1 = 3, b1 = 4;
            bool result1 = a1 < b1 || a1++ == 3;
            Debug.Print("result1 = " + result1); //true
            Debug.Print("a1 = " + a1);//3 证名a1++没走 ,|| 造成短路。

7. & && | || 总结

            // &:只要一个为false 整体为false  一个条件为false  另外一个正常走 
            // && :只要一个为false 整体为false ,一个条件为false 另外一个不再判断了

            //|:只要一个为true 整体就是True
            //|| 只要一个为true  整体就是true 会短路

8.  ! 取反

            //! 取反
            Console.WriteLine(!true);//false
            Console.WriteLine(!false);//true

9.  ^ 异或

            //^ 异或 俩个条件不一样的情况下 才为True
            // T^T=F   F^F=F  T^F=T F^T=T; 
            Console.WriteLine(10 > 9 ^ 10 < 14); //false
            Console.WriteLine(10 > 9 ^ 10 > 14);//true
            Console.WriteLine(10 < 9 ^ 10 > 14);//false

10.  重点总结

            //重点: &&并且   ||或者   !取反

更多推荐