&&的优先级
发布时间:2021-07-07 17:43
&&的优先级高于||
简单点说就是 优先级相当于加括号, 但是运行顺序还是从左到右.
比如 if( a&&b || c &&d ) 相当于 if( (a&&b)||(c&&d) )
||逻辑或运算,在“||”运算符的表达式中,执行顺序是从左到右。如果其中有一个子表达式为True,那么整个表达式的值就为True,而且在该子表达式后面的式子不必再计算。
&&逻辑与运算,在“&&”运算符的表达式中,执行顺序是从左到右。如果其中有一个为False,那么整个表达式的值就为False,而且在该子表达式后面的式子不必再计算。
另外运算符优先级&&高于||。
你的代码中if(a==1||a==2&&b==3||b==4)相当于if(a==1||(a==2&&b==3)||b==4),当输入1,23132后,a=1,b=23132,在if(a==1||a==2&&b==3||b==4)中第一个判别式a==1就为True,后面的不管结果是什么,整个表达式结果依然为True,所以照样输出了
void main() { Test(); //输出 } class Test { Test() { if (false || true && foo()) { print("执行官"); } } static bool foo() { print('boo'); return true; } }
更新时间:2024-12-18 20:26
上一篇: 子类继承父类方法访问权限的问题 下一篇:try catch finally 用法