为了账号安全,请及时绑定邮箱和手机立即绑定

Java语言a>90&&b==100||a==100&&b>85不加上括号和(a>90&&b==100)||(a==100&&b>85)加上括号有什么区别

/ 猿问

Java语言a>90&&b==100||a==100&&b>85不加上括号和(a>90&&b==100)||(a==100&&b>85)加上括号有什么区别

慕前端1599179 2017-06-21 09:48:46
查看完整描述

13 回答

?
黄小凡

优先级顺序的问题:

> 优先于 == 优先于 && 优先于 || 

所以a>90&&b==100||a==100&&b>85相当于:

((a>90)&&(b==100))||((a==100)&&(b>85))

后者(a>90&&b==100)||(a==100&&b>85)相当于:

((a>90)&&(b==100))||((a==100)&&(b>85))

所以二者本质上是没有区别的


查看完整回答
6 反对 回复 2017-06-21
?
leeyf666

//img4.sycdn.imooc.com/5a74124f0001918602620224.jpg

把这个记住,就不会出错。

记不住,就每次加括号防止出错

查看完整回答
5 反对 回复 2018-02-02
?
cyc川

这种运算最好加上括号,各种运算的优先级你可以不知道,但是一定要有加括号的习惯。

(a>90&&b==100)||(a==100&&b>85);

((a>90&&b==100)||a==100)&&b>85);等,这样打上括号,运算顺序就不会乱。

温馨提示:加括号都是一对一对的加,一双又一对才美。


查看完整回答
3 反对 回复 2017-08-08
?
qq_Measly_0

都可以从右边开始算  所以没有影响

查看完整回答
2 反对 回复 2018-09-18
?
成都加米谷大数据

优先级别的不同

&&比|| 的优先级高

查看完整回答
反对 回复 2021-04-23
?
qq_forever_171

像这种||和&&这种运算 首先得计算括号里面的运算 每个小式子都只会有一个返回值true或者false 然后或的话 遇见一个真的就是真的 与的话遇到一个假的就是假的 然后一步一步往后面验证就好


查看完整回答
反对 回复 2020-01-15
?
爱吃糖的胖兔子

优先级不同。

a>90&&b==100||a==100&&b>85的执行过程为:先求a>90的结果one,其次是one&&b==100的结果two, 再处理two||a==100的结果three,最后求three&&b>85的结果four。

(a>90&&b==100)||(a==100&&b>85)的执行过程为:第一步先求a>90的结果one,其次是(one&&b==100)的结果two, 第二步求a==100的结果three,其次是(three&&b>85)的结果four。第三步求two||four的结果five。

其中:

&&两个操作数都为真,条件才为真;

||任何两个操作数任何一个为真,条件为真。

当使用与逻辑运算符&&时,在两个操作数都为true时,结果才为true,但是当得到第一个操作为false时,其结果就必定是false,这时候就不会再判断第二个操作了。

查看完整回答
反对 回复 2019-07-01
?
car

括号保证了优先级,你的运算优先级和不加一一样

查看完整回答
反对 回复 2018-10-15
?
光之心MAX

没区别,&&运算的优先级比||高。只是你括起来别人比较好看

查看完整回答
反对 回复 2018-01-19
?
LIN小黑

在这种情况下是没区别的。因为优先级顺序&& 优先于 || ,所以运行起来就象加了括号。

各种运算的优先级可以不必知道,但加括号的习惯一定要有,这样才能确保准确率!


查看完整回答
反对 回复 2018-01-14
?
chaosbead

没区别 ,&&比|| 的优先级高

查看完整回答
反对 回复 2018-01-11
?
盖沧海

优先级发生了改变

查看完整回答
反对 回复 2017-12-28
?
狂飙的蜗牛_1

只是提高了优先级

查看完整回答
反对 回复 2017-08-27

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信