zoukankan      html  css  js  c++  java
  • boolean类型的按位或||和|的区别

    boolean类型既可以使用&&和||做逻辑运算,也可以使用&和|做逻辑运算,但前者是经过优化的(执行短路运算),后者未优化。

    以下代码验证:

    逻辑或||

    public class Main3 {
        public static int p=0;
        public static boolean m1(){
            p=1;
            return true;
        }
        public static boolean m2(){
            p=2;
            return true;
        }
        public static void main(String[] args){
            System.out.println(m1() || m2());
            System.out.println(p);
        }
    }
    
    //输出
    true
    1
    

    逻辑或|

    public class Main3 {
        public static int p=0;
        public static boolean m1(){
            p=1;
            return true;
        }
        public static boolean m2(){
            p=2;
            return true;
        }
        public static void main(String[] args){
            System.out.println(m1() | m2());
            System.out.println(p);
        }
    }
    
    //输出
    true
    2
    

     可以看出使用逻辑或|做逻辑运算时,m1() | m2()中,当m1()为true时,依然会执行后面的m2()函数。这是与逻辑或||的区别。

  • 相关阅读:
    [CERC2015]Digit Division
    [SDOI2012]拯救小云公主
    [不知道出自什么OJ]最大利润
    [USACO08FEB]修路Making the Grade
    P1985 [USACO07OPEN]翻转棋
    P1156 垃圾陷阱
    奶酪
    扫描线
    php数组
    php switch
  • 原文地址:https://www.cnblogs.com/wuchaodzxx/p/7375384.html
Copyright © 2011-2022 走看看