猿问
下载APP

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

慕前端1599179
浏览 3974回答 11
11回答

黄小凡

优先级顺序的问题:> 优先于 == 优先于 && 优先于 || 所以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))所以二者本质上是没有区别的

leeyf666

把这个记住,就不会出错。记不住,就每次加括号防止出错

cyc川

这种运算最好加上括号,各种运算的优先级你可以不知道,但是一定要有加括号的习惯。(a>90&&b==100)||(a==100&&b>85);((a>90&&b==100)||a==100)&&b>85);等,这样打上括号,运算顺序就不会乱。温馨提示:加括号都是一对一对的加,一双又一对才美。

qq_Measly_0

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

爱吃糖的胖兔子

优先级不同。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,这时候就不会再判断第二个操作了。

car

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

光之心MAX

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

中职小黑

在这种情况下是没区别的。因为优先级顺序&& 优先于 || ,所以运行起来就象加了括号。各种运算的优先级可以不必知道,但加括号的习惯一定要有,这样才能确保准确率!

chaosbead

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

盖沧海

优先级发生了改变

狂飙的蜗牛_1

只是提高了优先级
打开App,查看更多内容
随时随地看视频慕课网APP
我要回答