运算符类型:一个符号,代表一种运算操作
运算符分为三类 :
一元运算符: 只使用一个操作数
二元运算符: 使用两个操作数
三元运算符: 使用三个操作数
运算符从高到低的优先级顺序:
运算符类型 | 运 算 符 |
初级运算符 | x.y, f(x), x+a[x], +, x--, new, typeof, checked, unchecked |
一元运算符 | !, ~, ++, --, (T)x |
乘法、除法、取模运算符 | *, /, % |
增量运算符 | + , - |
移位运算符 | << , >> |
关系运算符 | < , > , <= , >= , is, as |
等式运算符 | == , != |
逻辑“与”运算符 | & |
逻辑“异或”运算符 | ^ |
逻辑“或”运算符 | | |
条件“与”运算符 | && |
条件“或”运算符 | || |
条件运算符 | ?: |
赋值运算符 | = , *= , /= , %= , += , -= , <<=, >>= , &= , ^= , |= |
简单的赋值运算符与赋值表达式
赋值就是给一个变量赋一个新值。“=”运算符用于将等号右边的操作数(第二个操作数)的值赋给左边的操作数(第一个操作数)。表达式的结果是右边操作数的值,所以赋值操作可以串联在一起。
算术运算符与算术表达式
算术运算符用于创建执行数学操作的表达式 。
运 算 符 | 描 述 | 运 算 符 | 描 述 |
+ | 加 | / | 除 |
- | 减 | ++ | 自增1 |
* | 乘 | -- | 自减1 |
% | 取模 |
|
|
关系运算符用于创建一个表达式,该表达式用来比较两个对象并返回布尔值。
运 算 符 | 描 述 | 运 算 符 | 描 述 |
== | 等于 | > | 大于 |
!= | 等于 | <= | 小于或等于 |
< | 小于 | >= | 大于或等于 |
逻辑运算符和布尔型操作数一起组成了逻辑表达式。
运算符 | 描述 |
! | NOT (非) |
&& | AND (短路)如果左边为false,右边就不必再计算 |
& | AND (非短路)就算左边为false,右还计算 |
|| | OR (短路)如果左边成立,右边不再执行 |
| | OR (非短路)无论左边是否为true,右边始终会执行判断 |
^ | XOR (异或) |
true | 测试 true 值(重载时使用) |
false | 测试 false 值(重载时使用) |
扩充后的赋值 运算符与赋值表达式
运 算 符 | 描 述 |
= | 赋值 |
+= | 加法赋值 |
-= | 减法赋值 |
*= | 乘法赋值 |
/= | 除法赋值 |
%= | 取模赋值 |
条件运算符与条件表达式
条件运算符是唯一有3个操作数的运算符,所以有时又称为三元运算符。
对条件表达式b?x:y,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。