Java 逻辑运算符中&&与&,||与|的区别

 更新时间:2017年05月22日 10:57:53   投稿:lqh  
这篇文章主要介绍了Java中&&与&,||与|的区别的相关资料,需要的朋友可以参考下

在Java的逻辑运算符中,有这么四类:&&(短路与),&,|,||(短路或)。

&&和&都是表示与,区别是&&只要第一个条件不满足,后面条件就不再判断。而&要对所有的条件都进行判断。

看下面的程序:

public static void main(String[] args) { 
    // TODO Auto-generated method stub 
    if((23!=23)&&(100/0==0)){ 
      System.out.println("运算没有问题。"); 
    }else{ 
    <span style="white-space:pre">  </span>System.out.println("没有报错"); 
    } 
  } 

输出的是“没有报错”。而将&&改为&就会如下错误:

Exception in thread "main" java.lang.ArithmeticException: / by zero 

原因是:&&时判断第一个条件为false,后面的100/0==0这个条件就没有进行判断。

             &时要对所有的条件进行判断,所以会对后面的条件进行判断,所以会报错。

             ||和|都是表示“或”,区别是||只要满足第一个条件,后面的条件就不再判断,而|要对所有的条件进行判断。

看下面的程序:

  public static void main(String[] args) { 
    // TODO Auto-generated method stub 
    if((23==23)||(100/0==0)){ 
      System.out.println("运算没有问题。"); 
    }else{ 
   System.out.println("没有报错"); 
    } 
  } 

此时输出“运算没有问题”。若将||改为|则会报错。

原因是:||判断第一个条件为true,后面的条件就没有进行判断就执行了括号中的代码,而|要对所有的条件进行判断,
所以会报错。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • 详解springboot整合mongodb

    详解springboot整合mongodb

    本篇文章主要介绍了详解springboot整合mongodb,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • springboot的LogbackLoggingSystem配置加载流程解析

    springboot的LogbackLoggingSystem配置加载流程解析

    这篇文章主要介绍了springboot的LogbackLoggingSystem配置加载流程源码分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • Java身份证验证方法实例详解

    Java身份证验证方法实例详解

    这篇文章主要介绍了Java身份证验证方法实例详解的相关资料,需要的朋友可以参考下
    2017-04-04
  • 利用Log4j将不同Package的日志输出到不同文件的方法

    利用Log4j将不同Package的日志输出到不同文件的方法

    日志是应用软件中不可缺少的部分,Apache的开源项目log4j是一个功能强大的日志组件,提供方便的日志记录。这篇文章主要介绍了利用Log4j将不同Package的日志输出到不同文件的方法,需要的朋友可以参考借鉴,下面来跟着小编一起学习学习吧。
    2017-01-01
  • Java的Socket通讯基础编程完全指南

    Java的Socket通讯基础编程完全指南

    这篇文章主要介绍了Java的Socket通讯基础编程,包括对Socket服务器的并发访问方法,是Java网络编程中的重要知识,相当推荐!需要的朋友可以参考下
    2015-08-08
  • Java编程实现获取mp3时长及播放mp3文件的方法

    Java编程实现获取mp3时长及播放mp3文件的方法

    这篇文章主要介绍了Java编程实现获取mp3时长及播放mp3文件的方法,涉及java基于jaudiotagger与jl包对MP3音频文件属性操作及音频播放相关操作技巧,并提供了相关jar包的本站下载,需要的朋友可以参考下
    2018-02-02
  • java实现发送短信验证码

    java实现发送短信验证码

    这篇文章主要为大家详细介绍了java实现发送短信验证码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • java+vue实现添加单选题、多选题到题库功能

    java+vue实现添加单选题、多选题到题库功能

    这篇文章主要为大家详细介绍了java+vue实现添加单选题、多选题到题库功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-04-04
  • Springboot+MybatisPlus实现带验证码的登录

    Springboot+MybatisPlus实现带验证码的登录

    本文主要介绍了Springboot+MybatisPlus实现带验证码的登录,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-05-05
  • Java实现Executors类创建常见线程池

    Java实现Executors类创建常见线程池

    本文主要介绍了Java实现Executors类创建常见线程池,在Java中,可以通过Executors工厂类提供四种常见类型的线程池,下面就来介绍一下这四种的方法实现,感兴趣的可以了解一下
    2023-11-11

最新评论