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

作者:lqh 时间:2021-05-30 15:24:26 

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

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

来源:http://blog.csdn.net/qq_37810594/article/details/72621269

标签:Java,运算符
0
投稿

猜你喜欢

  • C# 读写自定义的Config文件的实现方法

    2022-09-08 23:22:35
  • Unity 修改FBX模型动画的操作

    2023-03-17 17:59:39
  • springboot-dubbo cannot be cast to问题及解决

    2022-06-27 14:46:51
  • js 交互在Flutter 中使用 webview_flutter

    2023-07-20 22:40:14
  • Win10系统下配置java环境变量的全过程

    2023-10-13 12:09:50
  • SpringBoot如何优雅的处理全局异常

    2021-06-09 21:28:13
  • C# Bitmap图像处理(含增强对比度的三种方法)

    2023-11-01 02:33:53
  • Android实现屏幕保持常亮功能

    2023-08-09 13:20:15
  • Java Runnable和Thread实现多线程哪个更好你知道吗

    2021-08-17 05:48:50
  • 详解Jackson 使用以及性能介绍

    2023-02-21 00:08:31
  • MyBatis如何进行双重foreach循环

    2022-11-24 22:54:17
  • SpringBoot之通过BeanPostProcessor动态注入ID生成器案例详解

    2023-11-24 22:17:26
  • Java网络编程UDP实现多线程在线聊天

    2022-01-08 21:48:32
  • Spring spel表达式使用方法示例

    2023-08-25 00:43:32
  • 这一次搞懂Spring事务是如何传播的

    2022-12-27 07:06:53
  • SpringBoot多数据源切换实现代码(Mybaitis)

    2021-11-07 11:15:50
  • Maven项目部署到服务器设置访问路径以及配置虚拟目录的方法

    2023-12-04 02:12:12
  • Java8-Stream流操作List去重问题

    2023-11-23 23:29:49
  • Java多线程synchronized同步方法详解

    2023-06-30 00:39:42
  • java开源区块链jdchain入门

    2022-08-07 11:44:44
  • asp之家 软件编程 m.aspxhome.com