zoukankan      html  css  js  c++  java
  • [笔记]C#基础入门(十三)——C#的运算符优先级

        如果编程中同时使用了多个运算符,到底哪一个会先运算呢?这就是优先级的问题。

        C#运算符的优先级请参考下面的顺序:

     

    ①括号。学数学的时候我们就知道,要先计算括号里面的内容。C#语言也是一样,如果有多层括号,要从里向外计算。括号优先级最高。

    ②一元运算符。有些运算符两边有2个操作数,比如2+3、6%5等等,这些叫做二元运算符。只有一个操作数的叫做一元运算符,它们的优先级高于二元运算符。一元运算符包括:++(自加) 、 --(自减) 、 !(逻辑非)。

    ③*(乘)、/(除)、%(取余)。

    ④+(加)、-(减)。

    ⑤>(大于)、<(小于)、>=(大于等于)、<=(小于等于)。

    ⑥==(等于)、!=(不等于)。

    ⑦&&(逻辑与)。

    ⑧||(逻辑或)。

    ⑨赋值运算符。包括:=、+=、-=、*=、/=、%=。

        另外,还需要注意一点:优先级相同的运算符从左向右计算(赋值运算符相反)。

     

        请看下面这段代码:

    bool b = 20 - (15 - 8) * 2 > 10 && (2 % 2 * 2 + 2) > 2;
    
    Console.WriteLine(b);

        分析:首先计算优先级最高的括号,(15-8)得到7,(2%2*2+2)则需要先计算%和*,后算+,结果是2,表达式就变成了:

    bool b=20-7*2>10&&2>2;

        接下来优先级最高的是7*2,然后是减法,变成:

    bool b=6>10&&2>2;

        继续计算两个大于号,得到:

    bool b=false&&false;

        最后的结果当然是false。


    以上摘自慕课网课程《C#开发轻松入门》

  • 相关阅读:
    链接工作过程
    编译器工作过程
    图像边缘提取
    剑指32-1 从上到下打印二叉树
    剑指31 栈的压入 弹出序列
    剑指30 包含min函数的栈
    剑指28 对称的二叉树(暂留)
    asp.net core获取当前请求的完整url
    安装启动consul代理,consul后台管理
    asp.net core用命令方式启动项目
  • 原文地址:https://www.cnblogs.com/qianhua/p/6653600.html
Copyright © 2011-2022 走看看