java运算符的优先级和结合性

优先级

在这里插入图片描述
可以使用() 进行改变优先顺序。

结合性

所有的数学运算符都认为是从左到右运算的,Java 语言中大部分运算符也是从左到右结合的,只有单目运算符、赋值运算符和三目运算符例外,其中,单目运算符、赋值运算符和三目运算符是从右向左结合的,也就是从右向左运算

乘法和加法是两个可结合的运算,也就是说,这两个运算符左右两边的操作数可以互换位置而不会影响结果。

当有多中运算符参与运算的时候,先要考虑优先级,有相同优先级的就看结合性以决定运算顺序。

因为这样,所以,如果没有两个相同优先级的运算,就不存在考虑结合性的问题了。一个 ?: 是体现不出来结合性的。 请看这个:

a?b:c?d:e
这个要怎么算?先看优先级,两个一样。再看结合性,右结合,所以先算:
c?d:e
再算:

a?b:(c?d:e)
这就是所谓右结合。如果是左结合的话 就是先算:

a?b:c
再算:

(a?b:c)?d:e
实际上,一般结合性的问题都可以用括号来解决。

记住 三目 单目 赋值 是右结合

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值