首页 > 其他 > 详细

逻辑与(&)、短路与(&&)、逻辑或(|)、短路或(||)

时间:2019-11-16 00:44:41      阅读:155      评论:0      收藏:0      [点我收藏+]

逻辑与(&)、短路与(&&)、逻辑或(|)、短路或(||)的区别

  • &|:所有条件都会进行判断
  • &&:遇到结果为false时不再进行向下判断
  • ||:遇到结果为true时不再进行向下判断

逻辑与(&)

public class Hello {
    public static void main(String[] args) {
        int i = 3 ;
        boolean flag = (i>10) & (i++)<5;
        System.out.println(flag);
        System.out.println(i);
    }
}

由于&会判断所有的条件,所以i最后的值会加1

false
4

短路与(&&)

public class Hello {
    public static void main(String[] args) {
        int i = 3 ;
        boolean flag = (i>10) && (i++)<5;
        System.out.println(flag);
        System.out.println(i);
    }
}

&&遇到为false时不再进行判断。由于i>10为false,所以(i++)<5无论结果如何都不进行判断,总体结果为false,i的值依旧为3

false
3

逻辑或(|)

public class Hello {
    public static void main(String[] args) {
        int i = 3 ;
        boolean flag = (i>1) | (i++)<5;
        System.out.println(flag);
        System.out.println(i);  
    }
}

|两边结果都会判断,i会加1,结果为true,i=4

true
4

短路或(||)

public class Hello {
    public static void main(String[] args) {
        int i = 3 ;
        boolean flag = (i>1) || (i++)<5;
        System.out.println(flag);
        System.out.println(i);
    }
}

||遇到结果为true不会往下判断。i>1结果为true,(i++)<5不会进行判断,最后结果为true,i=3

true
3

逻辑与(&)、短路与(&&)、逻辑或(|)、短路或(||)

原文:https://www.cnblogs.com/zjw-blog/p/11870259.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!