区别

  1. || 为逻辑运算符,而 | 为位运算符。

      位运算可以进行进行int数的或运算。例:4|1=54写作二进制数 1 0 01写作二进制数 0 0 1做或运算得出  1 0 1   即5
    
  2. || 只要满足第一个条件,后面的条件就不再判断,而 | 要对所有的条件进行判断。

    我们定义一个链表

    class ListNode {int val;ListNode next;ListNode(int x) { val = x; }
    }
    
    ListNode a=null;
    

    写出一个if判断语句,共四种写法

    if(a==null|a.next==null)//1
    if(a==null||a.next==null)//2
    if(a.next==null|a==null)//3
    if(a.next==null||a==null)//4
    

    以上四种写法中,1、3、4写法均会抛出NullPointerException异常
    1. | 要对所有的条件进行判断,故在a.next == null的判断中抛出异常
    2. || 只要满足第一个条件,后面的条件就不再判断,a==null满足,返回true
    3. 同1的错误
    4. 判断前一个条件,a.next抛出异常

    以上为||和|的区别和使用,相同&和&&也可以同上思考

java中|和||的使用和区别相关推荐

  1. java中的异常种类和区别以及处理机制和区别

    java中的异常种类和区别以及处理机制和区别 按照异常需要处理的时机分为编译时异常(也叫强制性异常)也叫 CheckedException 和运行时异常(也叫非强制性异常)也叫 RuntimeExce ...

  2. java中ArrayList和LinkedList的区别

    首先来看ArrayList和LinkedList的集成类和接口的区别.// lang java public class ArrayList<E> extends AbstractList ...

  3. java中Runnable和Callable的区别

    文章目录 运行机制 返回值的不同 Exception处理 java中Runnable和Callable的区别 在java的多线程开发中Runnable一直以来都是多线程的核心,而Callable是ja ...

  4. java中wait和sleep的区别

    文章目录 Wait和sleep的区别 唤醒wait和sleep java中wait和sleep的区别 在本篇文章中,我们将会讨论一下java中wait()和sleep()方法的区别.并讨论一下怎么使用 ...

  5. java throw与throws_基于Java中throw和throws的区别(详解)

    系统自动抛出的异常 所有系统定义的编译和运行异常都可以由系统自动抛出,称为标准异常,并且 Java 强烈地要求应用程序进行完整的异常处理,给用户友好的提示,或者修正后使程序继续执行. 语句抛出的异常 ...

  6. Java中重载和复写的区别

    Java中重载和复写的区别 重载(overload) 复写(override) 区别和联系 重载(overload) 函数重载的最突出的例子就是类的构造函数,用户定义一个对象时可能会提供多种参数组合: ...

  7. Java中equals()方法和==的区别分析

    Java中equals方法和==的区别分析 equals(Object obj)方法,将对象与传入的obj进行比较,相等返回true,否则返回false.equals方法和"==" ...

  8. java is instance of_详谈Java中instanceof和isInstance的区别

    一次性搞定instanceof和isInstance,instanceof和isInstance长的非常像,用法也很类似,先看看这两个的用法: obj.instanceof(class) 也就是说这个 ...

  9. throws java_基于Java中throw和throws的区别(详解)

    系统自动抛出的异常 所有系统定义的编译和运行异常都可以由系统自动抛出,称为标准异常,并且 Java 强烈地要求应用程序进行完整的异常处理,给用户友好的提示,或者修正后使程序继续执行. 语句抛出的异常 ...

  10. Java中notify和notifyAll的区别 - 何时以及如何使用

    Java  notify   vs notifyAll notify和notifyAll方法之间有什么区别是棘手的Java问题之一! Condition 是个什么玩意? 提几个问题,从问题中去了解去学 ...

最新文章

  1. 有钱任性!字节跳动又给员工发钱了!字节程序员:吓一跳,莫名其妙多了几万块!...
  2. 支付宝sdk 支付订单查询失败
  3. Docker网络相关
  4. android4.0 编译报错 Xmx2048m错误 .
  5. fgo服务器维护补偿什么时候才有,fgo国服4月12日版本版本更新公告 维护18个小时 补偿18个圣晶石...
  6. Docker 基础介绍及配置安装 [一]
  7. 中科院Kaggle全球文本匹配竞赛华人第1名团队-深度学习与特征工程
  8. C#连接SQL Server数据库
  9. Conda环境与Python解释器
  10. 转~解决VS2017 C++无法打开源文件 WinSock2.h Windows.h mswsock.h Ws2tcpip.h
  11. FatFs- 通用FAT文件系统模块
  12. sketch软件_8款原型设计工具与Sketch的强强组合,轻松构建交互原型
  13. Raspberry3B+搭建有线路由器-实现网口转发
  14. YYC松鼠视频短信对接教程
  15. linux 运维工程师必备技能
  16. 融资轮数划分 天使轮 种子轮 preA A A+ B轮 C轮
  17. 【华为机试】【校招】【Java】机器人走迷宫(DFS)
  18. C语言实现定积分的计算
  19. 【WCN6856】WiFi 5G 接口启动失败问题解决
  20. 51单片机实验——按键外部中断实现四进制计数器

热门文章

  1. 移动硬盘插入提示需要格式化RAW_分区变成RAW格式怎么办?
  2. 基于深度信念网络的事件识别
  3. meltdown linux 补丁,宋宝华: ARM64 Linux meltdown修复补丁KPTI的最重要3个patch
  4. 国产系统deepin。为什么要国产化?国产化意味着什么?(含Deepin系统部分问题解决)
  5. 组成计算机cpu的两大部件是,组成计算机的cpu的两大部分是什么
  6. 虚拟机使用cheese调用摄像头黑屏问题解决
  7. 改变iOS searchBar中textField的背景颜色
  8. 兜兜转转~~,忘不了的break!! 忘不了的continue!!!!
  9. android如何虚标内存,答疑 | 手机运存明明是6GB,但实际可用才3.5GB?是虚标还是什么?...
  10. 任务管理器被停用解决方法