zoukankan      html  css  js  c++  java
  • 逻辑与(&)、短路与(&&)、逻辑或(|)、短路或(||)

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

    • &|:所有条件都会进行判断
    • &&:遇到结果为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
    
    --------------- 我每一次回头,都感觉自己不够努力,所以我不再回头。 ---------------
  • 相关阅读:
    树上DP
    区间dp
    [持续更新]学习并记忆 Linux 下的常用的命令
    区间dp
    codevs 2152
    树上DP入门题
    差分与前缀和
    POJ
    VJ
    Week 5: Object Oriented Programming 9. Classes and Inheritance Exercise: int set
  • 原文地址:https://www.cnblogs.com/zjw-blog/p/11870259.html
Copyright © 2011-2022 走看看