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()函数。这是与逻辑或||的区别。

  • 相关阅读:
    什么是进程
    进程控制
    MMAP文件内存映射
    I/O多路转接模型
    LINUX创建管道文件
    文件描述符复制
    LINUX改变文件大小
    类作用域
    LINUX文件定位
    War of the Corporations CodeForces
  • 原文地址:https://www.cnblogs.com/wuchaodzxx/p/7375384.html
Copyright © 2011-2022 走看看