[笔记]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#开发轻松入门》

posted @ 2017-03-31 21:21  辰星crystal  阅读(872)  评论(0编辑  收藏  举报