一、算术操作符:+、—、*(乘)、/(除)、%(取模)
1、除了%操作符之外,其他几个操作符可以作用于整数和浮点数;
2、对于/操作符如果两个操作数都为整数,执行整数除法,而只要浮点数执行的就是浮点数除法;
3、%操作符的两个操作数必须为整数,返回的是整数之后的余数;
二、移位操作符:移动的是二进制位
<<:左移操作符;
>>:右移操作符:【包括算术右移:右边丢弃,左边补原符号位;
逻辑右移:右边丢弃,左边补0】
三、位操作符:按二进制位进行操作
&:按位与,两位都为1才为1,有一个0则为0;
|:按位或,两位都为0才为0,有一个1则为1;
^:按位异或,两位相同为0,相异为1.
四、赋值操作符:=,从右往左读;
五、复合操作符:+=、—=、*=、/=、%=、>>=、<<=、&=、|=、^=;
六、单目操作符:只有一个操作符;如a+b为双目操作符;
!:逻辑返操作; &:取地址;
—负值;+正值;— —:前置、后置减减;++:前置、后置加加;
size of:求以字节为单位的操作数的类型长度;
~:对一个数的二进制按位取反;
*:解引用操作符(间接访问);
七、关系操作符:
>大于、>=大于等于、<小于、<=小于等于、!=不等于、==等于;
八、逻辑操作符:
&&:逻辑与;||:逻辑或;
九、条件操作符:
exp1?exp2:exp3:表达式1如果为真,则计算exp2,且exp2的结果为整个表达式的结果,如果exp1为假,则exp3结果为整个表达式的结果;
十、逗号表达式:
exp1,exp2,exp3,……exp n,从左到右依次执行,整个表达式的结果为最后一个表达式的结果。
十一、下标引用操作符:[],[]的操作数:一个数组名+一个索引值;
十二、():函数调用操作符:接受一个或多个操作数,第一个操作数是函数名,剩余的操作数是传递给函数的参数;
操作符的属性:
复杂表达式的求值有三个影响的因素:
1、操作符的优先级,优先级高的先算,低的后算;
2、操作符的结合性;
3、是否控制求值顺序;