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

慕前端1599179
浏览 9946回答 32
32回答

黄小凡

优先级顺序的问题:> 优先于 == 优先于 && 优先于 || 所以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);等,这样打上括号,运算顺序就不会乱。温馨提示:加括号都是一对一对的加,一双又一对才美。

慕标8001392

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

成都加米谷大数据

优先级别的不同&&比|| 的优先级高

慕移动0748970

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

爱吃糖的胖兔子

优先级不同。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

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

LIN小黑

在这种情况下是没区别的。因为优先级顺序&& 优先于 || ,所以运行起来就象加了括号。各种运算的优先级可以不必知道,但加括号的习惯一定要有,这样才能确保准确率!
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java