逻辑运算包括:与、或、非、异或。共6种运算符。true 表示真。false 表示假。

一、逻辑运算符

下表列出了逻辑运算符:

操作符

描述

&&,&

逻辑与运算符。当且仅当两个操作数都为真,结果才为真。

||,|

逻辑或操作符。当且仅当两个操作数都为假,结果才为假。

!

逻辑非运算符,又称取反运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false。

^

异或运算符。两个操作数不相同则为true,相同则为false

比较结果图:

二、逻辑运算符的短路

&&、|| 这两个运算符带短路功能。

何为短路功能?短路就是当执行了一部分运算之后,表达式的运算结果已经出来了,没有必要再执行后续运算了。

如 a=true , b=false, 当执行a || b运算时,只要a为真,则表达式结果必然为真,无论b是 true 还是 false 。

&、| 这两个运算符不带短路功能。他两的运算结果跟“ && || ”的运算结果是一致的,只是过程不同。

代码演示:

public class HelloWorld {

public static void main(String[] args) {

//不带短路

System.out.println("不带短路");

System.out.println(trueMethod() | falseMethod()); // 两个方法都执行,输出true

//带短路

System.out.println("带短路");

System.out.println(trueMethod() || falseMethod()); // 只执行trueMethod方法,输出true。falseMethod方法未执行

boolean a=false;

boolean b=true;

//异或

System.out.println("异或");

System.out.println(a^b); //输出true

//取反

System.out.println("取反");

System.out.println(!a); //输出true

//与运算

System.out.println("与运算");

System.out.println(a&&b); //输出false

//或运算

System.out.println("或运算");

System.out.println(a||b); //输出true

}

static boolean trueMethod() {

System.out.println("---执行了trueMethod方法");

return true;

}

static boolean falseMethod() {

System.out.println("---执行了falseMethod方法");

return false;

}

}

总结:

1. 逻辑运算有四种类型,与、或、非、异或。

2. &&、|| 操作符有短路功能,& 、| 操作符无短路功能

3. 通过演示代码深入理解逻辑运算符的短路功能

java短路运算符有哪些_Java逻辑运算符的短路功能相关推荐

  1. java se 导原码_Java SE 8新功能导览:Java开发世界中的重大变化

    java se 导原码 我很自豪,像其他专业团队成员一样,是采用OpenJDK的成员之一,但是从过去8个月就加入了,我们经历了Java SE 8 开发,编译,编码,讨论等各个阶段,直到将其付诸实践为止 ...

  2. java位运算符取反_java运算符

    Java 语言支持如下运算符: 算术运算符: +,-,*,/,%,++,-- 赋值运算符 = 关系运算符: >,<,>=,<=,==,!=, instanceof 逻辑运算符: ...

  3. java位运算符取反_Java运算符之位运算符

    位运算符 尹成课程资料及演示(免费)(文末有资料链接) 位运算符是针对二进制数的每一位进行运算的符号,它是专门针对数字0和1进行操作的.接下来通过一张表来展示Java中的位运算符及其用法,如表1所示. ...

  4. java中实现工厂日历_Java实现的日历功能完整示例

    本文实例讲述了java实现的日历功能.分享给大家供大家参考,具体如下: 应用名称:Java日历 用到的知识:Java GUI编程,日期操作 开发环境:win8+eclipse+jdk1.8 功能说明: ...

  5. java实现连续签到加分_java实现app签到功能

    本文实例为大家分享了java实现app签到功能的具体代码,供大家参考,具体内容如下 1.首先设计二张表,第一张表sign_calc记录用户连续签到次数,字段id,user_id,continue_da ...

  6. java写一个web服务器_Java实现web服务器功能(简版) | kTWO-个人博客

    package kTWOServer; import java.io.* ; import java.net.* ; import java.util.* ; final class HttpRequ ...

  7. java与与短路与_Java中短路运算符与逻辑运算符示例详解

    1.逻辑运算符(部分) 符号 名称 && 短路与运算符 || 短路或运算符 & 与运算符 | 或运算符 对于理工科学习者来说,逻辑运算是较为基础的概念,通常会在大一的离散数学课 ...

  8. java 的 非短路_Java 短路运算符和非短路运算符

    短路运算符就是我们常用的"&&"."||",一般称为"条件操作". class Logic{ public ststic v ...

  9. java 关系运算符-逻辑运算符概述-逻辑运算符

    上期知识回顾 自增自减运算符(练习) //自增自减运算符 y的值是多少? int x = 10; int y = x++ + x++ + x++; System.out.println(y); 自增自 ...

最新文章

  1. S-BEV:用于天气和光照不变的3-DoF定位的语义鸟瞰视图表示
  2. android 三维动画效果,9款令人惊叹的HTML5 3D动画应用
  3. 2018年机器视觉前景预测
  4. 【java】静态代码块
  5. Eclipse 安装配置总结(WST WTP)(转)
  6. Spring IoC?看这篇文章就够了...
  7. ARMA模型的性质 1
  8. 软考——(1)J2SE
  9. 洛谷试炼场-简单数学问题-二分查找
  10. 小学计算机辅导计划,【小学信息技术培优补差计划】_小学信息技术培优补差计划...
  11. Oracle修改数据时提示“record is locked by another user”的解决办法
  12. DH 算法迪菲-赫尔曼算法QUIC协议和HTTP3.0
  13. linux开机自动进入安全模式,Linux的安全模式
  14. 拒做背锅侠!如何利用网站性能优化驱动产品体验提升
  15. js入门篇--制作简单闪烁图片
  16. 闲聊HTML5的新特性
  17. Zabbix发送带附件的邮件
  18. 如何利用excel计算百分位
  19. mysql替换成对括号
  20. 网页设计问卷调查的要点-适合初学者

热门文章

  1. OpenAI新作Shap-e算法使用教程
  2. minion java上传文件_Java程序猿怎样高速理解Kubernetes
  3. 厦门大学计算机学院面试题,【图片】一战厦大计算机上岸,经验帖。慢更【考研吧】_百度贴吧...
  4. vue3+nodejs基于RSA加密的身份认证(token的组成及使用)
  5. 梯度消失与梯度爆炸产生原因及解决方法
  6. 重庆信息学院“感恩母亲,回报母爱”活动举行
  7. C语言判断字符串类型及个数并输出
  8. python字符串类型的计算公式
  9. 安卓暗黑模式软件_安卓9系统还没用上,安卓Q系统已经来了,功能更新全在这了...
  10. 实战:从文件夹中庞大的excel(.xlsx)文件中提取并整合数据