A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘斌 中级黑马   /  2012-12-16 11:24  /  1197 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

运算符是表达式很重要的一部分,对表达式中的操作数进行运算。
如+ - * / % 等,根据运算符所需操作数的个数,可把运算符分为以下几类

一元运算符:只带有一个操作数并使用前缀表示法,如:--x或者x++,++,--等运算符。
二元运算符:带有两个操作数并且全部使用中缀表示法,如:x+y, + - * / 等运算符。
三元运算符:带有3个操作数并且使用中缀表示法,如:? : 运算符。 算术表达式是最为常见的一种表达式,由操作数和运算符组成,
而这些运算符之间存在一定的优先级,如*运算符的优先级就大于+
当表达式包括多个运算符时,运算符的优先级控制各个运算符的运算顺序。
对于x+y*z表达式而言,该表达式首先计算y*x表达式的值,然后再计算y*z的结果与x的和。
即该表达式等价于x+(y*z)表达式。
因为* 运算符的优先级大于+ 运算符的优先级。

根据运算符的优先级可以把C#中运算符分为以下14类(从高到低的优先级顺序)
基本:x.y f(x)  a[x]  x++  x--  new  typeof  checked  unchecked
一元:+  -  !  ~  ++x  --x (T)x   (T)x为类型转换运算
乘除:* / %
加减:+ -
移位:<<  >>
关系和类型检测:<  >  <=  >=  is  as
相等:==  !=
逻辑与:&
逻辑异或:^
逻辑或:|
条件与:&&
条件或:||
条件:?:
赋值:=  *=  /=  % =  +=  -=  <<=  >>=  &=  ^=  |=

当操作数出现的具有相同优先级的两个运算符之间时,
运算符的顺序与运算符本身特性相关。
除了赋值运算符外,所有的二元运算符都是从左向右执行运算。
如"x+y+z"表达式按照(x+y)+z表达式进行计算。
赋值运算和?:条件运算符是从右向左执行运算。
如:x=y=z表达式按照x=(y=z)表达式进行运算

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

1 个回复

倒序浏览
值得学习ing!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马