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

  逻辑运算的结果是 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. AutoIt介绍

    AutoIt的下载网址: https://www.autoitscript.com/site/autoit/downloads/ AutoIt在线文档:http://www.autoit3.cn/Do ...

  2. dotnet 从入门到放弃的 500 篇文章合集

    本文是记录我从入门到放弃写的博客 博客包括 C#.WPF.UWP.dotnet core .git 和 VisualStudio 和一些算法,所有博客使用 docx 保存 下载:dotnet 从入门到 ...

  3. switch case语句中能否作用在String,long上

    在之前的eclipse中使用switch的case语句时是只能为(byte,short,char)int类型或枚举类型.但在jdk1.7以后 在case语句中是可以使用String 以及long 等类 ...

  4. 【代码笔记】Web-HTML-头部

    代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <!--ti ...

  5. 【代码笔记】Web-HTML-简介

    一,效果图. 二,代码. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

  6. 【读书笔记】iOS-流式音频与Pandora Radio之路

    复杂性是不可避免的,而且只会随时间增长,所以在增加特性时一定要为重构和代码简化留出时间.真正遇到问题这前先不要担心性能.iPhone非常强壮,你可能永远也不会遇到预想的性能问题. 能过互联网向一个设备 ...

  7. 安全测试 WEB安全测试手册

    WEB安全测试手册 By:授客 QQ:1033553122 欢迎加入软件性能测试交流QQ群:7156436 概述 Ø          目的 Ø          适用读者 Ø          适用 ...

  8. call/apply以及this指向的理解

    javascript是面向对象的语言,Function也是一种对象,有自己的属性和方法.call和apply就是js函数自带方法,挂在Fucntion.prototype上. 一般调用某函数时,直接“ ...

  9. JavaScript变量提升的理解

    变量提升 先说三句总结性的话: let 的「创建」过程被提升了,但是初始化没有提升. var 的「创建」和「初始化」都被提升了. function 的「创建」「初始化」和「赋值」都被提升了. 所以,我 ...

  10. 洗礼灵魂,修炼python(24)--自定义函数(5)—匿名函数lambda

    在这个互联网时代,大家都喜欢匿名,匿名上网,匿名登录,匿名操作等等,都不喜欢实名对吧?(虽然说现在实名制已经快到来,题外话,扯远了),当然python里也有个不喜欢实名的,它的功效优点特殊,说强大吧? ...