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

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

看下面的程序:

[java]  view plain copy
  1. package demo;
  2. public class TestUnsignedByte
  3. {
  4. public static void main(String[] args)
  5. {
  6. if ((24 == 23) && (100 / 0 == 0))
  7. System.out.println("运算没有问题。");
  8. else
  9. System.out.println("没有报错");
  10. }
  11. }

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

[java]  view plain copy
  1. Exception in thread "main" java.lang.ArithmeticException: / by zero
  2. at demo.TestUnsignedByte.main(TestUnsignedByte.java:7)

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

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

[java]  view plain copy
  1. package demo;
  2. public class TestUnsignedByte
  3. {
  4. public static void main(String[] args)
  5. {
  6. if ((23 == 23) || (100 / 0 == 0))
  7. System.out.println("运算没有问题。");
  8. else
  9. System.out.println("没有报错");
  10. }
  11. }
此时输出“运算没有问题”。若将||改为|则会报错。

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

Java中,amp;amp;amp;amp;与amp;amp;,||与|的区别相关推荐

  1. java中的后台线程、前台线程、守护线程区别

    java中的后台线程.前台线程.守护线程区别 区别和联系 区别 联系 区别和联系 区别 后台线程和守护线程是一样的. 后台线程不会阻止进程的终止,而前台线程会, 可以在任何时候将前台线程修改为后台线程 ...

  2. 浅谈 JAVA中静态初始化块和非静态初始化块的区别

    众所周知在JAVA编程语言中有两种初始化块: 静态初始化块 非静态初始化块 他们到底有什么区别呢?今天就浅谈一下JAVA中静态初始化块和非静态初始化块的区别 静态初始化块 定义: static{} 执 ...

  3. Java学习笔记1:Java中有关print、println、printf的用法和区别

    Java学习笔记1:Java中有关print.println.printf的用法和区别 最近在学习java,写一些笔记记录下. 1.print()函数是一般的标准输出,但是不换行. 2.println ...

  4. java中super用来定义父类,Java中super的几种用法及与this的区别

    综观目前的 Web 应用,多数应用都具备任务调度的功能.本文由浅入深介绍了几种任务调度的 Java 实现方法,包括 Timer,Scheduler, Quartz 以及 JCron Tab,并对其优缺 ...

  5. Java中三种Set的实现类的用法和区别

    Java为开发者提供了大量的工具类,这给开发人员带来了很大方便,但是选择多了也有困扰,究竟用哪个类:我想选择什么,一是看自己具体需求,二是类本身的性能和用法:Java中提供了HashSet.TreeS ...

  6. Java中interrupted()和isInterrupted()之间的区别

    Java中的interrupted()和isInterrupted() (interrupted() and isInterrupted() in Java) Here, we will see ho ...

  7. Java中的Runnable、Callable、Future、FutureTask的区别与示例

    原文地址:http://blog.csdn.net/bboyfeiyu/article/details/24851847 --------------------------------------- ...

  8. Java中IO流的分类和BIO,NIO,AIO的区别

    到底什么是IO 我们常说的IO,指的是文件的输入和输出,但是在操作系统层面是如何定义IO的呢?到底什么样的过程可以叫做是一次IO呢? 拿一次磁盘文件读取为例,我们要读取的文件是存储在磁盘上的,我们的目 ...

  9. Java中的executeQuery_java execute,executeQuery和executeUpdate之间的区别

    java execute,executeQuery和executeUpdate之间的区别 关注:269  答案:4  信息版本:手机版 电脑版 解决时间 2021-01-25 18:31 提问者怪咖 ...

  10. (转)Java中的private、protected、public和default的区别

    1 访问修饰符 1.1 理解 默认什么都不加,就是default(不用把default写出来).意思就是只能由跟这个类在同一个包中的类来访问,比private限制更少,但比protected限制更多. ...

最新文章

  1. html链接伪类设置鼠标悬停,链接伪类可以控制超链接的样式吗?是怎样实现的?...
  2. win7下构建swarm nodes实现跨host的容器之间的通信
  3. 06_一对一和一对多
  4. Android成长日记-使用GridView显示多行数据
  5. 学了这么久的Redis,竟然还不知道事务
  6. 【干货】2021年视频号商业化产品能力介绍:招商、推广、变现-腾讯.pdf(附下载链接)...
  7. 关于IPMI的几个问题
  8. 808协议与php通讯,车载808协议对接、交通部794对接、部标808协议809协议对接
  9. vue 在线预览word、excel、pdf、txt、图片
  10. 写学术论文的一些感想
  11. Python官网无法打开解决方案
  12. 从菜鸟到高手!Photoshop抠图全方位攻略
  13. 【Multisim仿真】用555定时器+CD4017实现流水灯
  14. 通信类会议期刊排名(转)
  15. MyBatis报Invalid bound statement (not found)错误
  16. 极空间袁斌:存储的未来应聚焦“数字资产的安全保管
  17. 发布炸弹超人游戏(C语言游戏源码)
  18. 二叉树线索化仍不能解决的两个问题及原因
  19. Linux 2.6内核配置说明 (国嵌)
  20. 使用metaIn建设智慧城市

热门文章

  1. 1 基于搜索的路径规划 —— Dijkstra算法(python)
  2. J Magn Reson Imaging:磁共振指纹(MRF)动脉自旋标记(ASL)的灌注特性估计
  3. 【笔记】python中的for循环(遍历列表)、for循环中的一些缩进问题
  4. APS系统如何选型?(下)
  5. 深度学习之数据处理方法概述
  6. VUE3.0——组件传值
  7. 什么是LTE(Long Term Evolution)
  8. RNN代码简单实现(周杰伦歌词示例)
  9. 利用python画钻石_用Python制作钻石ASCII艺术品
  10. 微软服务器ip,微软服务器环境中的IP地址管理