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,后面的条件就没有进行判断就执行了括号中的代码,而|要对所有的条件进行判断,
所以会报错。

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

相关文章

  • java微信公众号开发(搭建本地测试环境)

    java微信公众号开发(搭建本地测试环境)

    这篇文章主要介绍了java微信公众号开发,主要内容有测试公众号与本地测试环境搭建,需要的朋友可以参考下
    2015-12-12
  • 详解SpringBoot统一响应体解决方案

    详解SpringBoot统一响应体解决方案

    这篇文章主要介绍了详解SpringBoot统一响应体解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Java AQS 线程安全同步队列的实现

    Java AQS 线程安全同步队列的实现

    AQS 同步队列是很多的 Java 线程安全对象的实现,例如 ReentrantLock, Semaphore, CountDownLatch, ReentrantReadWriteLock 等等,本文就介绍了Java AQS 线程安全同步队列的实现,感兴趣的可以了解一下
    2023-08-08
  • spring boot中xalan引入报错系统找不到指定的文件原因分析

    spring boot中xalan引入报错系统找不到指定的文件原因分析

    这篇文章主要介绍了spring boot中xalan引入报错系统找不到指定的文件,主要原因是内嵌的tomcat9.0.36,本文给大家分享最新解决方法,需要的朋友可以参考下
    2023-08-08
  • Java Chassis3过载状态下的快速失败解决分析

    Java Chassis3过载状态下的快速失败解决分析

    本文解密了Java Chassis 3快速失败相关的机制和背后故事,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • 基于Java SSM框架开发图书借阅系统源代码

    基于Java SSM框架开发图书借阅系统源代码

    本文给大家介绍了基于Java SSM框架开发图书借阅系统,开发环境基于idea2020+mysql数据库,前端框架使用bootstrap4框架,完美了实现图书借阅系统,喜欢的朋友快来体验吧
    2021-05-05
  • Java中的抽象工厂模式_动力节点Java学院整理

    Java中的抽象工厂模式_动力节点Java学院整理

    抽象工厂模式是工厂方法模式的升级版本,他用来创建一组相关或者相互依赖的对象。下面通过本文给大家分享Java中的抽象工厂模式,感兴趣的朋友一起看看吧
    2017-08-08
  • java实现飞机游戏代码

    java实现飞机游戏代码

    这篇文章主要为大家详细介绍了java实现飞机游戏代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-09-09
  • Java 如何实现POST(x-www-form-urlencoded)请求

    Java 如何实现POST(x-www-form-urlencoded)请求

    这篇文章主要介绍了Java 实现POST(x-www-form-urlencoded)请求,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • Java调用CXF WebService接口的两种方式实例

    Java调用CXF WebService接口的两种方式实例

    今天小编就为大家分享一篇关于Java调用CXF WebService接口的两种方式实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03

最新评论