java逻辑运算符&&、&、||、|的详解

 1 public class OperatorDemo{

 2     

 3     public static void main(String args[]) {

 4 

 5         //当我们执行一下代码时会报错(&属于没短路的)

 6         if(10!=10 & 10/0 == 0){

 7 

 8             System.out.println("没过");

 9         }

10 

11         //当我们执行一下代码时不会报错(&&属于短路的)

12         /*

13         if(10!=10 && 10/0 == 0){

14 

15             System.out.println("没过");

16         }

17         */

18         //当我们执行一下代码时会报错(|属于短路的)

19         /*

20         if(10!=10 | 10/0 == 0){

21 

22             System.out.println("没过");

23         }

24         */

25         //当我们执行一下代码时不会报错(||属于短路的)

26         /*

27         if(10!=10 || 10/0 == 0){

28 

29             System.out.println("没过");

30         }

31         */

32     }

33 }

总结:如果属于短路的方式,程序会提前考虑停止运行以后的代码(如果第一个条件不成立,后面的程序不会在考虑去执行)。而非短路的方式,前后的代码都会运行,导致后续程序的报错。

你可能感兴趣的:(java)