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
    
    --------------- 我每一次回头,都感觉自己不够努力,所以我不再回头。 ---------------
  • 相关阅读:
    H.Playing games
    P4721 【模板】分治 FFT
    hdu5730 分治fft
    hdu6394Tree lct
    bzoj2763: [JLOI2011]飞行路线 最短路
    bzoj2154: Crash的数字表格 莫比乌斯反演
    bzoj3211: 花神游历各国 线段树
    溢流
    css控制继承
    “<textarea>”内的文字对齐
  • 原文地址:https://www.cnblogs.com/zjw-blog/p/11870259.html
Copyright © 2011-2022 走看看