c#运算符优先级
2010-12-01 10:04
281 查看
运算符是表达式很重要的一部分,它指示对表达式中的操作数进行什么样的运算,如+、-、*、/、%等。根据运算符所需操作数的个数,可以把运算符分为以下3类。本节介绍运算符的知识点。
一元运算符:只带有一个操作数并使用前缀表示法(如--x)或后缀表示法(如x++),如++、- -等运算符。
二元运算符:带有两个操作数并且全都使用中缀表示法(如x+y),如+、-、*、/等运算符。
三元运算符:带有3个操作数并使用中缀表示法,如?: 运算符。
注意:C#语言只包含一个三元运算符:?:。
5.2.1 运算符优先级
算术表达式是最为常见的一种表达式。它由操作数和运算符组成,而且这些运算符之间是存在一定优先级的,如*运算符的优先级就大于+运算符的优先级。C#语言中的运算符一样,也存在优先级。在计算表达式的值时,也必须遵循运算符的优先级的规则。
特别地,当表达式包括多个运算符时,运算符的优先级控制各个运算符的计算顺序。对于x+y*z表达式而言,该表达式首先计算y*z表达式的值,然后再计算y*z表达式的结果与x的和。即该表达式等价于x+(y*z)表达式,那是因为*运算符的优先级大于+运算符的优先级。根据运算符的优先级可以把C#中的运算符分为以下14类,如表5.2所示。
表5.2 C#中的运算符表
![](http://hiphotos.baidu.com/%B5%E4%D1%C5%D0%A1%D6%FE/pic/item/9a4312c8341c96537e3e6f0c.jpg)
注意:表5.2是按照从最高到最低的优先级顺序列举了C#语言的所有运算符。
当操作数出现在具有相同优先级的两个运算符之间时,运算符的顺序与运算符本身特性相关,具体说明如下所示。
除了赋值运算符外,所有的二元运算符都是从左向右执行运算。如"x+y+z"表达式按照"(x+y)+z"表达式进行计算。
赋值运算符和?:条件运算符是从右向左执行运算。如x=y=z表达式按照x=(y=z)表达式进行计算。
一元运算符:只带有一个操作数并使用前缀表示法(如--x)或后缀表示法(如x++),如++、- -等运算符。
二元运算符:带有两个操作数并且全都使用中缀表示法(如x+y),如+、-、*、/等运算符。
三元运算符:带有3个操作数并使用中缀表示法,如?: 运算符。
注意:C#语言只包含一个三元运算符:?:。
5.2.1 运算符优先级
算术表达式是最为常见的一种表达式。它由操作数和运算符组成,而且这些运算符之间是存在一定优先级的,如*运算符的优先级就大于+运算符的优先级。C#语言中的运算符一样,也存在优先级。在计算表达式的值时,也必须遵循运算符的优先级的规则。
特别地,当表达式包括多个运算符时,运算符的优先级控制各个运算符的计算顺序。对于x+y*z表达式而言,该表达式首先计算y*z表达式的值,然后再计算y*z表达式的结果与x的和。即该表达式等价于x+(y*z)表达式,那是因为*运算符的优先级大于+运算符的优先级。根据运算符的优先级可以把C#中的运算符分为以下14类,如表5.2所示。
表5.2 C#中的运算符表
![](http://hiphotos.baidu.com/%B5%E4%D1%C5%D0%A1%D6%FE/pic/item/9a4312c8341c96537e3e6f0c.jpg)
注意:表5.2是按照从最高到最低的优先级顺序列举了C#语言的所有运算符。
当操作数出现在具有相同优先级的两个运算符之间时,运算符的顺序与运算符本身特性相关,具体说明如下所示。
除了赋值运算符外,所有的二元运算符都是从左向右执行运算。如"x+y+z"表达式按照"(x+y)+z"表达式进行计算。
赋值运算符和?:条件运算符是从右向左执行运算。如x=y=z表达式按照x=(y=z)表达式进行计算。
相关文章推荐
- ASP.net C#基本语法(B篇 程序结构、运算符、运算优先级)
- C# 运算符 优先级
- C#入门4.8——运算符的优先级
- C#中的运算符和优先级
- C#中运算符的优先级
- C#学习之路,学习笔记 第三章 运算符和表达式(运算符、优先级、类型转换)
- c# 运算符优先级
- C# 运算符的优先级
- C#中38个常用运算符的优先级的划分和理解
- (原创)c#学习笔记03--变量和表达式04--表达式03--运算符的优先级
- C#作业——表达式计算器+小数+运算符优先级
- (原创)c#学习笔记04--流程控制01--布尔逻辑03--运算符优先级
- 运算符的优先级(c#,c,java)
- 第一章 ASP.net C#基本语法(B篇 程序结构、运算符、运算优先级)
- C#中38个常用运算符的优先级的划分和理解。
- C#中38个常用运算符的优先级的划分和理解。 [转载]
- 第一章 ASP.net C#基本语法(B篇 程序结构、运算符、运算优先级)
- C#运算符优先级
- C#运算符的优先级
- C#运算符的优先级