java优先级对接_跟我学java编程—Java运算符的优先级

Java表达式可能存在多个运算符,运算符之间存在优先级的关系,级别高的运算符先执行运算,级别低的运算符后执行运算算,下表列出了运算符的优先级。表中优先级栏,数字越小优先级越高,运算符每个运算符用中文顿号分割。

e27cd72dcbd49ef542b4557c576bd089.png

表中结合性指运算符结合的顺序,通常都是从左到右。从右到左的运算符最典型的就是数值前面的正负号,例如3+-4,则意义为3加-4,符号首先和运算符右侧的内容结合。

表中运算符‘[]’前面没有讲到,该运算符表示声明一个数组,关于数组后面会详细讲述。

表中小括号‘()’优先级最高,表达式含有小括号的,优先执行小括号的内容,如果包含多个小括号,执行顺序是从左到右。

例如,假设变量a的值为12,下述语句的执行会有不同的结果:

(1)执行 a + 18 % 4 ,因为运算符%的优先级高于运算符+,该语句先执行取余运算,再执行加法运算,其结果为14;

(2)执行( a + 18 ) % 4 ,因为小括号的优先级最高,该语句先执行小括号里的表达式a+18,再执行取余运算,其结果为6;

(3)执行 a * ( ( a + 18 ) % 4 ),该语句括号内嵌套括号,执行顺序是先执行内层括号的运算,再执行外层括号的运算,其运算结果为48。

示例1:运算符优先级

在D盘Java目录下,新建“PrioritySample.java”文件。用记事本打开“PrioritySample.java”文件,输入以下代码:

762f5e7a7242a0417be3e06341e0ccff.png

代码结构分析

程序功能主要是演示运算符的优先级。

语句“a += ++b;”,涉及到运算符+=和++两个运算符,从运算符优先级表可知,++运算符的优先级要高于+=运算符,b应先做自增运算,然后再与a相加,结果为15。一个特例是,语句“a += b++;”,虽然++的优先级高于+=,但此语句的++是后缀式,后缀式是先使用再自增(参见算术运算符一节),因此,b先与a相加后,再做自增运算,结果为14。

编译“PrioritySample.java”文件,在命令行窗口输入“javac PrioritySample.java”并执行命令,编译通过后,在命令行窗口输入“java PrioritySample”运行Java程序,命令行窗口显示如下信息:

1b332091738b25104ae6b0f00b450bc3.png图 6-15 运算符优先级示例执行结果

从上述结果可以看出,++运算符的优先级要高于+=运算符,b应先做自增运算,然后再与a相加,结果为15。

4842600ada6a05bcb127f0bf336588b4.png

在实际的开发中,不需要特别去记忆运算符的优先级别,也不要刻意的使用运算符的优先级别,对于不清楚优先级的地方使用小括号辅助进行优先级管理。

3ea0a4ca526414cd203f7ee5fa977df8.png

(1)下列语句执行后,a的值为()

int a = 10;

int b = 5;

a += b++;

A.15

B.16

C.14

D.10

(2)下列运算符中,优先级最高的是()

A.+=

B.*

C.%

D.!

(3)下述表达式中,先执行哪部分运算()

a*b+b%2+(a+b)*10

A . a*b

B . b%2

C. a+b

D. (a+b)*10

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值