逻辑与和短路与的区别

&  逻辑与, |  逻辑或                &&  短路与, ||  短路或

  1、  逻辑运算符要求两边的算子都是布尔类型,并且逻辑运算符最终的运算结果也是一个布尔类型。

  2、  短路与和逻辑与最终的运算结果是相同的,只不过短路与存在短路现象。

          短路或和逻辑或最终的运算结果是相同的,只不过短路或存在短路现象。

      *   逻辑与:

int x = 10;
int y = 8;
System.out.println( x < y & ++x < y);
System.out.println(x);

         输出结果为   false        

                               11

       *   短路与:

int x = 10;
int y = 8;
System.out.println( x < y && ++x < y);
System.out.println(x);

         输出结果为  false

                               10

           x < y 结果是false,整个表达式结果已经确定是false,所有后面的表达式没有再执行,这种现象被称为短路现象,短路与才会有短路现象。

  3、 什么情况下会发生短路或,短路与?

            第一个表达式执行结果是true,会发生短路或。

            第一个表达式执行结果是false,会发生短路与。

你可能感兴趣的:(逻辑与和短路与的区别)