Java运算符优先级介绍!

        运算符丰富是 Java 语言的主要特点之一,它提供的运算符数量之多,在高级语言中是少见的。那么当多个运算符出现在一个表达式中,谁先谁后呢?

        这就涉及到运算符的优先级别的问题。在一个多运算符的表达式中,运算符优先级不同会导致最后得出的结果差别甚大。

        这套视频讲的都是Java基础,简单易懂,大家可以参考下(PS:运算符优先级在第48节)

        Java300集零基础适合初学者视频

        下表中具有最高优先级的运算符在最上面,最低优先级的在最下面。

类别操作符关联性
后缀() [] . (点操作符)左到右
一元expr++ expr--从左到右
一元++expr --expr + - ~ !从右到左
乘性* /%左到右
加性+ -左到右
移位>> >>> <<左到右
关系> >= < <=左到右
相等== !=左到右
按位与左到右
按位异或^左到右
按位或|左到右
逻辑与&&左到右
逻辑或| |左到右
条件?:从右到左
赋值= + = - = * = / =%= >> = << =&= ^ = | =从右到左
逗号左到右

        使用优先级为的小括号(),可以改变其他运算符的优先级,即如果需要将具有较低优先级的运算符先运算,则可以使用小括号将该运算符和操作符括起来

(x-y)*z/2

        在这个表达式中先进行括号内的减法运算,再将结果与 z 相乘,最后将积除以 2 得出结果。整个表达式的顺序按照从左向右执行,比较容易理解。

再来看一个复杂的表达式,如下所示。

--y || ++x && ++z;

        这个表达式中包含了算术运算符和逻辑运算符。根据上表中列出的优先级,可以确定它的执行顺序如下:

  1. 先计算 y 的自减运算符,即 --y
  2. 再计算 x 的自增运算符,即 ++x
  3. 接着计算 z 的自增运算符,即 ++z
  4. 由于逻辑与比逻辑或的优先级高,这里将2和3 的结果进行逻辑与运算,即 ++x && ++z
  5. 最后将4的结果与1进行逻辑或运算,即 1 || 4。

        如果没有上述对该表达式执行顺序的说明,第一眼看到它时将很难识别优先级。对于这类问题,可以通过添加小括号使表达的顺序更加清晰,而不用去查优先级表。如下所示为改进后的表达式。

(--y)||((++x)&&(++z));

技巧:记住这么多运算符的优先级确实比较困难,所以大家在日常使用中尽量使用小括号来组织!

        运算符优先级大概就是这样了,大家理解了吗?如果觉得文字枯燥难懂的朋友可以看视频学习理解,更容易掌握!!

Java300集零基础适合初学者视频

        今天主要就给大家分享这些了,有其他意见和想法的朋友可以留言讨论哦,我们一起学习,一起进步!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值