运算符丰富是 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集零基础适合初学者视频

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

Java运算符优先级介绍!相关推荐

  1. Java运算符优先级(转)

    Java运算符优先级 序列号 符号 名称 结合性(与操作数) 目数 说明 1 . 点 从左到右 双目   ( ) 圆括号 从左到右     [ ] 方括号 从左到右     2 + 正号 从右到左 单 ...

  2. java 运算符优先级

    java 运算符优先级 在表达式中,那个运算符先执行后执行是要看优先级的,例如"*,/"的优先级高于"+,-". 优先级 运算符 1 () 2 !,++,– 3 ...

  3. Java运算符优先级顺序

    Java运算符优先级顺序 图集说明: 1.算数运算符 补充两个: 单目运算符 正号 +10 10 单目运算符 负号 n=10;-n; -10 (1)除法规则 / 若两个操作数都是整型,结果也是整型,除 ...

  4. java与或优先级,Java 运算符优先级

    Java 运算符优先级 优先级 运算符 名称 1 ( ) 括号 2 [ ] , . 后缀运算符 3 - (一元运算符,取负数) , ! , ~ , ++ , -- 一元运算符 4 * , / , % ...

  5. Java 运算符和Java运算符优先级

    Java 运算符和Java运算符优先级 Java 运算符 算术运算符 关系运算符 逻辑运算符 赋值运算符 条件运算符(?:) 位运算符 Java运算符优先级 Java 运算符 我们可以把运算符分成以下 ...

  6. java运算符优先级

    Java 语言中运算符的优先级共分为 14 级,其中 1 级最高,14 级最低.在同一个表达式中运算符优先级高的先执行. 有一个口诀:  单目乘除为关系,逻辑三目后赋值. 单目:单目运算符+ –(负数 ...

  7. Java教程:Java运算符优先级

    本篇文章由 泉州SEO www.234yp.com 整理发布,Java教程 www.234yp.com/Article/198113.html 谢谢合作! Java教程所有的数学运算都认为是从左向右运 ...

  8. java运算符(java运算符优先级由高到低)

    java运算符是什么? 一.算术运算符:单目:+(取正)-(取负) ++(自增1) - -(自减1) 双目:+ - * / %(取余) 三目:a>b?true:false 说明:当a大于b的时候 ...

  9. Java运算符优先级和表达式及数据类型转换

    计算机程序在处理数据时会进行大量的计算,而数据的运算则需要借助运算符和表达式来完成. 表达式是指由操作数和运算符组成的用于完成某种运算功能的语句                         子表达 ...

最新文章

  1. echarts地图罗平县的json_Echarts全国省市区县地图数据文件(含js及json)
  2. 公司技术部门内部的发展变化过程。
  3. (转)Spring Boot 2 (七):Spring Boot 如何解决项目启动时初始化资源
  4. 日历报表_在报表中实施不同的日历
  5. Win11延迟高怎么办?Win11延迟高的解决方法
  6. 阿里云linux主机更新hostname
  7. 小程序加载图片失败,默认图片的替换方法
  8. 贝叶斯网络(Belief Networks)--模型及方法
  9. Ubuntu下bin文件的安装
  10. Windows下安装dilb解决方法
  11. 使用Gson 解析json文件
  12. 电脑自动跳出计算机管理员登陆界面,解决运行wegame总是弹出用户账户控制界面的方法...
  13. NBA球员生涯数据统计系统(中南大学C语言课设)
  14. 竞赛最好用的平衡树-Size Balanced Tree(SBT)【建议收藏】
  15. 一键生成VR全景图展示
  16. 树莓派安装安装fcitx及google拼音输入法
  17. c++编程题2——ISBN计算识别码
  18. Tesseract训练新字体
  19. Android 7.0拍照/相册/截取图片FileProvider使用
  20. pr无法启动此程序因为计算机中丢失api,pr2017安装丢失的api

热门文章

  1. 实验笔记之——基于DWT的octave layer(DWT在pytorch中实现)
  2. 建筑施工技术【23】
  3. 数据结构与算法 ~ 查找 ~ 散列查找(哈希~线性探查法和二次探查法)
  4. 在Ubuntu上安装CERTI
  5. 苹果CMS10内核仿 柠檬观看 电影资讯模板 在线影视视频模板源码电视电影 PC+wap模板
  6. CorelDraw插件开发-VBA-常用类型-ActiveView类-视图调整-CDR插件
  7. python将txt文件批量导入excel
  8. IDEA导出jar包并使用exe4j制作可执行文件
  9. Python 基础 — Python 简介
  10. 第三章:DQL命令(一)