完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
JAVA语言的运算符的优先级 表达式的运算次序取决于表达式中各种运算符的优先级。优先级高的先运算,优先级低的后运算,另外还可用括号“()”改变表达式的运算次序。 Jave 语言规定的运算符优先级如表3-3所示,表中排在上面的运算符有较高的优先级,同一行中的运算符的优先级相同。如果在表达式中有括号(表达式中只使用圆括号),又有函数,则优先计算括号中的内容,其次再进行函数运算。
表3-3 Jave语言的运算符优先级
按照表3-3中的规定,下列表达式有惟一的求值次序: (1)a + b*c (2)a=b||c (3)a + b < c&&d==e (4)a=8-2*3<4&&5<2 表达式(1)中,运算符“*”比“+”的优先级高,所以先求b*c的值之后再与a的值相加。 表达成(2)中,逻辑运算符“||”比赋值运算符优先级高,所以先对b||c求值,然后将结果赋给变量a。 表达式(3)中,四个运算符中“+”优先级最高、“<” 次之,“&&”最低,所以求值次序是先求出式子a + b的值,然后将这个值与c的值作“<”比较,然后求d==e的值,最后做“&&”运算。 表达式(4)中,先求出2*3的值为6,然后求出8-6的值为2,再求出2<4的值为true,5<2的值为false,然后再求出true && false的值为false,最后将false赋值给变量a。 在Java语言中要记住这么多运算符的优先级是比较困难的,而且上述表达式的写法比较难以理解并容易产生错误。因此在写程序时应该养成一种良好的习惯:除非是简单的直观运算,应该尽量使用括号。上述表达式(1)是可取的,表达式(2)、(3)和(4)应分别改写为a=(b||c)、((a+b) 另外,要尽量不写太长的表达式,过长的表达式容易引起对求值次序的误解。 例如:2*Math.sqrt(Math.pow(3,2)*25)+4 ↑ ↑ ↑ ↑ ↑ ↑ ⑤ ④ ③ ① ② ⑥ 运算的优先顺序如小圆圈的数字所示,这个表达式的运算结果是34.0。 对于表达式再作以下几点说明: (1)数学上的表达式a≥b≥c及-5≤x≤5,用JAVA语言表示,必须分别写成(a>=b) && (b>=c)及(-5<=x) && (x<=5)。 (2)逻辑运算a || b是好的表示形式。但若写成a||b则是不好的写法,在操作数与运算符之间至少留一空格可以使程序更加清晰。 (3)有时为了表达清楚,可以引进多余的括号,如:x>=5 || y <0是正确的表示形式,但引进括号后(x>=5) || (y <0),可以表达得更加清楚。 |
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
12177 浏览 2 评论
4495 浏览 3 评论
3748 浏览 5 评论
9747 浏览 47 评论
4588 浏览 9 评论
742浏览 0评论
551浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-18 21:34 , Processed in 0.613435 second(s), Total 52, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号