运算符

本文详细介绍了编程语言中的运算符优先级和结合性的概念,包括基本运算符、单目运算符、双目运算符等多种类型,并给出了具体示例帮助理解。了解这些规则对于正确解析表达式的执行顺序至关重要。

运算符优先级:

 

优先级类别运算符
1基本

(x) x.y f(x) a[x] x++ x--

2单目+ - ! ~ ++x --x
3乘法与除法* / %
4加法与减法+-
5移位运算<<   >>
6关系运算< >  <=  >=
7条件等== !=
8位逻辑与&
9位逻辑异或^
10位逻辑或|
11条件与&&
12条件或||
13条件?:
14赋值=

 

运算符顺序:

 

运算符结合性
[ ] . ( ) (方法调用)从左到右
! ~ ++ -- +(一元运算) -(一元运算)从右到左
* / %从左到右
+ -从左到右
<< >> >>>从左到右
< <= > >= instanceof从左到右
== !=从左到右
&从左到右
^从左到右
|从左到右
&&从左到右
||从左到右
?:从右到左
=从右到左

 

运算符总结:

相同优先级中,按结合顺序计算。大多数运算是从左至右计算,只有三个优先级是从右至左结合的,它们是单目运算符条件运算符赋值运算符

基本的优先级需要记住:

指针最优,单目运算优于双目运算。如正负号。

先乘除(模),后加减。

先算术运算,后移位运算,最后位运算。请特别注意:1 << 3 + 2 & 7等价于 (1 << (3 + 2))&7.

逻辑运算最后计算。

运算符名称或含义使用形式说明
后置++后置自增运算符变量名++ 
后置--后置自减运算符变量名-- 
[ ]数组下标数组名[整型表达式] 
( )圆括号(表达式)/函数名(形参表) 
.成员选择(对象)对象.成员名 
->成员选择(指针)对象指针->成员名 
-负号运算符-表达式单目运算符
(类型)强制类型转换(数据类型)表达式 
前置++前置自增运算符++变量名单目运算符
前置--前置自减运算符--变量名单目运算符
*取值运算符*指针表达式单目运算符
&取地址运算符&左值表达式单目运算符
!逻辑非运算符!表达式单目运算符
~按位取反运算符~表达式单目运算符
sizeof长度运算符sizeof 表达式/sizeof(类型) 
*表达式*表达式双目运算符
/表达式/表达式双目运算符
%余数(取摸)整型表达式%整型表达式双目运算符
+表达式+表达式双目运算符
-表达式-表达式双目运算符
<<左移表达式<<表达式双目运算符
>>右移表达式>>表达式双目运算符
>大于表达式>表达式双目运算符
>=大于等于表达式>=表达式双目运算符
<小于表达式<表达式双目运算符
<=小于等于表达式<=表达式双目运算符
==等于表达式==表达式双目运算符
!=不等于表达式!= 表达式双目运算符
&按位与整型表达式&整型表达式双目运算符
^按位异或整型表达式^整型表达式双目运算符
|按位或整型表达式|整型表达式双目运算符
&&逻辑与表达式&&表达式双目运算符
||逻辑或表达式||表达式双目运算符
?:条件运算符表达式1? 表达式2: 表达式3三目运算符
=赋值运算符变量=表达式 
/=除后赋值表达式/=表达式 
*=乘后赋值表达式*=表达式 
%=取模后赋值表达式%=表达式 
+=加后赋值表达式+=表达式 
-=减后赋值表达式-=表达式 
<<=左移后赋值变量<<=表达式 
>>=右移后赋值变量>>=表达式 
&=按位与后赋值变量&=表达式 
^=按位异或后赋值变量^=表达式 
|=按位或后赋值变量|=表达式 
逗号运算符表达式,表达式,… 

 

 

转载于:https://my.oschina.net/u/3659224/blog/1553951

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值