zoukankan      html  css  js  c++  java
  • &和&&区别

    1)&和&&都可以用作逻辑与的运算符,表示逻辑与(and)。

    当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。

               //a为真,b为假,输出两者其一为假进入           
                bool a = true;
                bool b = false;
                if (a & b)
                {
                    Console.WriteLine("两者皆为真进入");
                }
                else
                {
                    Console.WriteLine("两者其一为假进入");
                    Console.Read();
                }
             //a为假,b为真,输出两者其一为假进入           
               bool a = false;
                bool b = true;
                if (a & b)
                {
                    Console.WriteLine("两者皆为真进入");
                }
                else
                {
                    Console.WriteLine("两者其一为假进入");
                    Console.Read();
                }
              //a为假,b为假,输出两者其一为假进入           
               bool a = false;
                bool b = false;
                if (a & b)
                {
                    Console.WriteLine("两者皆为真进入");
                }
                else
                {
                    Console.WriteLine("两者其一为假进入");
                    Console.Read();
                }

      


               //a为真,b为真,输出两者皆为真进入
               bool a = true;
                bool b = true;
                if (a & b)
                {
                    Console.WriteLine("两者皆为真进入");
                    Console.Read();
                }
                else
                {
                    Console.WriteLine("两者其一为假进入");
                    Console.Read();
                }

       

    2)&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,如下示例

              //&无短路,x为1,不符合x=2,但继续执行 
               int x = 1;
                int y = 0;
                if (x ==2 & y++ > 0)
                {
                  
                }           
                Console.WriteLine("y初始值为0,无短路后的值为:" + y);
                Console.Read();


              //&&短路,x不为2,直接跳出,不执行y++
               int x = 1;
                int y = 0;
                if (x ==2 && y++ > 0)
                {
                  
                }           
                Console.WriteLine("y初始值为0,短路后的值为:" + y);
                Console.Read();

    3)&还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作,我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位,例如,0x31 & 0x0f的结果为0x01。

  • 相关阅读:
    [leetcode]397. Integer Replacement
    [LeetCode]396. Rotate Function
    [leetcode]633. Sum of Square Numbers
    [LeetCode]367. Valid Perfect Square判断完全平方数
    [LeetCode]319. Bulb Switcher灯泡开关
    [LeetCode]313. Super Ugly Number超级丑数,丑数系列看这一道就行了
    [LeetCode]231. Power of Two判断是不是234的幂
    使用导入外部样式文件方式
    使用内部样式
    使用链接外部样式文件方式
  • 原文地址:https://www.cnblogs.com/TechSingularity/p/12105952.html
Copyright © 2011-2022 走看看