跳到主要内容

&&的优先级

管

管理员

java

2021年07月07日 3,694 次阅读
本页目录

&&的优先级高于||

简单点说就是 优先级相当于加括号,  但是运行顺序还是从左到右.

比如 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;
  }
}

Related

相关文章

同分类文章 →
2024年12月27日 java

Spring 事务中的几种隔离级别介绍

  Spring 为了方便用户设定事务的隔离级别,专门定义了一个枚举类:Isolation。这个枚举类和事务传播行为的枚举类很像。 public enum Isolation { DEFAULT(TransactionDefinition.ISOLATION_DEFAULT), READ_UNC

2021年03月29日 java

求圆心到点的直线与圆的相交点.

若O(x1,y1),A(x2,y2)满足OA>r。 则向量OA=(x2-x1,y2-y1),可设向量OB=(m,n),则有:m(y2-y1)-n(x2-x1)=0且(m-x1)²+(n-y1)²=r²。 解得B((x2-x1)r/√(x2-x1)²+(y2-y1)²,(y2-y1)r/√(x2-x1)&s

2021年03月27日 java

强制类型转换-其实就是向下转型

用(String)做强制类型转换和用String.valueOf()区别在于:String 就是直接强制转化成String型的字符串,且有优先级限制,像int i=123;不能String s=(String)i。而String.valueOf()里面的参数转换可以是double、long、char

WeChat

扫码加我微信

微信二维码