逻辑运算是在关系运算基础之上的运算,能处理更加复杂的问题

  逻辑运算的结果是 true 或 false

  一、逻辑运算的种类:

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

      使用规则:

      (1)& 可以用作逻辑与的运算符,表示逻辑与(and)

       a、当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false

       b、无论第一个判断条件是否成立,逻辑运算符前后两个条件都会进行判断

      (2)&& 可以用作逻辑与的运算符,表示逻辑与(and)

      a、当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false

      b、第一个条件不成立,后面的条件均不进行判断,返回false

      (3)| 可以作逻辑或运算符,表示逻辑或(or)

      a、当运算符有一边为true时,整个运算结果为true

      b、无论第一个判断条件是否成立,逻辑运算符前后两个条件都会进行判断

      (4)|| 可以作逻辑或运算符,表示逻辑或(or)

      a、当运算符有一边为true时,整个运算结果为true

      b、第一个条件成立,后面的条件均不进行判断,返回true

     示例:

    String s = null;

     1. if((s!=null)&(s.length()>0)){}

     2. if((s!=null)&&(s.length()>0)){}

      3. if((s==null)|(s.length()==0)){}

     4. if((s==null)||(s.length()==0)){}

     上述案例在java运行情况中,1,3均抛出NullPointerException异常。

  二、逻辑运算优先级:

    三种逻辑运算的优先级:

      非运算最高,与运算次之,或运算最低

   如:(注意:关系运算的优先级要高于所有的逻辑运算)

    示例:

    5 >=7 || 4 < 5 &&  !false

    步骤1:计算关系运算:5 >=7,结果:false;

    步骤2:计算关系运算:4 < 5,结果:true;

    步骤3:计算逻辑非运算:!false,结果:true;

    此时: false || true && true

    步骤4:计算逻辑与运算:true && true,结果:true;

    步骤5:计算逻辑或运算:false || true,结果:true;

Java逻辑运算的更多相关文章

  1. JAVA算术运算符、关系运算符和位运算符

    算术运算符 1.java的算数运算符包括+(加).-(减).*(乘)./(除).%(取余),在运算过程中出现的隐式转换原则和C语言一样:2. 高位数据向低位数据转化要使用强制转化: 关系运算符 1.j ...

  2. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  3. java布尔值进行and和or逻辑运算原理

    先看看如下代码: public class Test { public static void test() { boolean a = true; boolean b = false; if (a ...

  4. Java开发笔记(十五)短路逻辑运算的优势

    前面提到逻辑运算只能操作布尔变量,这其实是不严谨的,因为经过Java编程实现,会发现“&”.“|”.“^”这几个逻辑符号竟然可以对数字进行运算.譬如下面的代码就直接对数字分别开展了“与”.“或 ...

  5. Java运算符使用总结(重点:自增自减、位运算和逻辑运算)

    Java运算符共包括这几种:算术运算符.比较运算符.位运算符.逻辑运算符.赋值运算符和其他运算符.(该图来自网络) 简单的运算符,就不过多介绍使用了,可自行测试.关于赋值运算,可以结合算术运算和位运算 ...

  6. 《深入Java虚拟机学习笔记》- 第13章 逻辑运算

    <深入Java虚拟机学习笔记>- 第13章 浮点运算

  7. 位运算,算术、逻辑运算详解-java篇

    /** * 功能: * 位运算符,原码.反码.补码规则: * 1.二进制的最高位是符号位:0表示正数,1表示负数 * 2.正数的原码.反码.补码都一样 * 3.负数的反码=它的原码符号位不变,其他位取 ...

  8. java代码执行字符串中的逻辑运算方法

    转载:https://www.jb51.net/article/143967.htm 方法一:Java调用js方法执行: /** * * @author: Longjun * @Description ...

  9. Java语言基础---逻辑运算(长路短路运算)

    长路短路运算的区别 长路与运算&:是指在两边都是整数时,是逐位与运算,在两边是关系运算时,是逻辑运算. 短路与运算&&:是指从左至右,遇到false,则停止后面的运算. 长路或 ...

随机推荐

  1. 手动部署LNMT(Nginx+Tomcat)并实现Nginx反向代理Tomcat

    一.什么是Tomcat? 在弄清楚Tomcat之前要先了解什么是J2EE:从整体上讲,J2EE 是使用 Java 技术开发企业级应用的工业标准,它是 Java 技术不断适应和促进企业级应用过程中的产物 ...

  2. Oracle入门《Oracle介绍》第一章1-4 Oracle 用户管理

    1.Oracle 默认用户 只有用合法的用户帐号才能访问Oracle数据库 Oracle 有几个默认的数据库用户 数据库中所有数据字典表和视图都存储在 SYS 模式中.SYS用户主要用来维护系统信息和 ...

  3. T-SQL:Varchar和Nvarchar区别(八)

    常规数据类型:CHAR 和 VARCHAR   Unicode 数据类型 NCHAR NVARCHAR 常规数据类型 会限制除英语之外语言    Unicode 会支持多种语言 VAR 区别 : 1. ...

  4. Net 如何计算一段代码的效率

    在.Net 4.0以后的版本,提供了一个类,该类在 System.Diagnostics命名空间下,使用该类就可以计算出执行结果相同的两端代码的效率,在代码优化上是很实用的. 泛型效率是高是低呢??我 ...

  5. Python 函数介绍

    函数的作用 1.减少重复代码 2.方便修改,更易扩展 3.保持代码一致性 函数的命名规则: 1.函数名必须以下划线或字母开头,可以包含任意字母,数字或下划线的组合,不能使用任何的标点符号. 2.函数名 ...

  6. vue中使用axios(异步请求)和mock.js 模拟虚假数据

    一.使用axios 1.安装 npm install --save axios 2.引用 import Axios from 'axios' Vue.prototype.Axios = Axios 二 ...

  7. CSS之fontAwesome代替网页icon小图标

    引言 奥森图标(Font Awesome)提供丰富的矢量字体图标—通过CSS可以任意控制所有图标的大小 ,颜色,阴影. 网页小图标到处可见,如果一个网页都是干巴巴的文字和图片,而没有小图标,会显得非常 ...

  8. 卷积神经网络CNNs的理解与体会

    https://blog.csdn.net/shijing_0214/article/details/53143393 孔子说过,温故而知新,时隔俩月再重看CNNs,当时不太了解的地方,又有了新的理解 ...

  9. 我的Java之旅 第八课 Servlet 进阶API、过滤器与监听器

    1.Servlet.ServletConfig与GenericServlet     首次请求的顺序      => 生成HttpServletRequest与HttpServletRespon ...

  10. Linux 学习笔记之超详细基础linux命令(the end)

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 14---------------- ...