32 回答
![?](http://img1.sycdn.imooc.com/5911b5d10001c56212001200-100-100.jpg)
TA贡献69条经验 获得超36个赞
优先级顺序的问题:
> 优先于 == 优先于 && 优先于 ||
所以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))
所以二者本质上是没有区别的
![?](http://img1.sycdn.imooc.com/54584cde0001d19202200220-100-100.jpg)
TA贡献17条经验 获得超11个赞
这种运算最好加上括号,各种运算的优先级你可以不知道,但是一定要有加括号的习惯。
(a>90&&b==100)||(a==100&&b>85);
((a>90&&b==100)||a==100)&&b>85);等,这样打上括号,运算顺序就不会乱。
温馨提示:加括号都是一对一对的加,一双又一对才美。
![?](http://img1.sycdn.imooc.com/58490d3600014a2201000100-100-100.jpg)
TA贡献2条经验 获得超0个赞
像这种||和&&这种运算 首先得计算括号里面的运算 每个小式子都只会有一个返回值true或者false 然后或的话 遇见一个真的就是真的 与的话遇到一个假的就是假的 然后一步一步往后面验证就好
![?](http://img1.sycdn.imooc.com/57ceb8660001d7e902090209-100-100.jpg)
TA贡献2条经验 获得超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,这时候就不会再判断第二个操作了。
![?](http://img1.sycdn.imooc.com/533e4d00000171e602000200-100-100.jpg)
TA贡献2条经验 获得超0个赞
在这种情况下是没区别的。因为优先级顺序&& 优先于 || ,所以运行起来就象加了括号。
各种运算的优先级可以不必知道,但加括号的习惯一定要有,这样才能确保准确率!
添加回答
举报