1.1 逻辑运算符

逻辑运算符,它是用于布尔值进行运算的,运算的最终结果为布尔值true或false。

运算符

运算规则

范例

结果

&

false&true

False

|

false|true

True

^

异或

true^flase

True

!

!true

Flase

&&

短路与

false&&true

False

||

短路或

false||true

True

看完图后,我们来看一下逻辑运算符的常规使用方式:

l 逻辑运算符通常连接两个其他表达式计算后的布尔值结果

l 当使用短路与或者短路或时,只要能判断出结果则后边的部分就不再判断。

int x = 1,y = 1;

if(x++==2 & ++y==2)

{

x =7;

}

System.out.println("x="+x+",y="+y);

&与,把条件都走一遍,不管结果的对与错。当条件都满足时才会进入循环体。

int x = 1,y = 1;

if(x++==2 && ++y==2)

{

x =7;

}

System.out.println("x="+x+",y="+y);

&&短路与,一短路就不走了,如果第一个结果是false,那后面的就不走了,直接结束(跳出循环),如果不是接着往下走。

int x = 1,y = 1;

if(x++==1 | ++y==1)

{

x =7;

}

System.out.println("x="+x+",y="+y);

|或,只要有一个条件满足就进循环体,并且走完整个条件

int x = 1,y = 1;

if(x++==1 || ++y==1)

{

x =7;

}

System.out.println("x="+x+",y="+y);

||短路或,只要有一个符合条件就不走后面的,如第一个符合条件,不走后面,直接进入循环体。

java中逻辑运算符怎么理解_java 逻辑运算符理解相关推荐

  1. 关于java中位运算符的使用和理解

    关于java中位运算符的使用和理解 &(按位与) ' & ' 符号的作用是对运算符的两侧以二进制表达的操作符按位进行'与'运算. 规则: 只有两个操作数对应位同为1时,结果为1,其余全 ...

  2. java中三种方法_Java文件I/O的三种方法

    Java文件I/O的三种方法 RandomAccessFile是不属于InputStream和OutputStream类系的.实际上,除了实现DataInput和DataOutput接口之外(Data ...

  3. java中异常的定义_java中异常的理解

    Trowable是所有异常的超类,对应的底下有两个子类,Error和Exception,java中的异常其实总体上来说有三种类型: 一.检查性异常,程序在编译的时候出现的异常,例如打开一个文件,此时程 ...

  4. java中==与equals的区别及理解_Java开发中常量池的理解与归纳

    相关概念 1.什么是常量 用final修饰的成员变量表示常量,值一旦给定就无法改变! final修饰的变量有三种:静态变量.实例变量和局部变量,分别表示三种类型的常量. 2.Class文件中的常量池 ...

  5. Java中关于进程和线程的理解

    进程:进程是操作系统的基础结构,是一次程序的执行,是一个程序及其数据在处理机上顺序执行所发生的的活动,是程序在数据集合上运行的过程,它是操作系统进行资源调度和分配的一个  独            立 ...

  6. Java中getter和setter的一些理解

    工作中用C#开发,目前自学Java.自以为很理解Java中的getter和setter了,结果被朋友一问,发现还是一知半解,越想越懵逼. 问题主要有两个: 1. Java中为什么要用getter和se ...

  7. java中io是什么_深入理解Java中的IO

    深入理解Java中的IO 转载自:http://blog.csdn.net/qq_25184739/article/details/51205186 本文的目录视图如下: Java IO概要 a.Ja ...

  8. java中的泛型的使用与理解

    什么是泛型? 泛型是程序设计语言的一种特性.允许程序员在强类型程序设计语言中编写 体验泛型 代码时定义一些可变部份,那些部份在使用前必须作出指明.各种程序设计语言和其编译器.运行环境对泛型的支持均不一 ...

  9. java中对象的生存期_深入理解Java虚拟机-判断对象是否存活算法与对象引用

    我们知道Java中的对象一般存放在堆中,但是总不能让这些对象一直占着内存空间,这些对象最终都会被回收并释放内存,那么我们如何判断对象已经成为垃圾呢?这篇文章会提出两种算法解决这个问题.另外,本文还要谈 ...

  10. java 多态判断非空_Java多态性理解

    Java中多态性的实现 什么是多态 面向对象的三大特性:封装.继承.多态.从一定角度来看,封装和继承几乎都是为多态而准备的.这是我们最后一个概念,也是最重要的知识点. 多态的定义:指允许不同类的对象对 ...

最新文章

  1. 前缀和?or差分序列?
  2. Elasticsearch之如何合理分配索引分片
  3. kotlin和java差别_Kotlin和Java的常用方法的区别总结
  4. Go语言、Docker 和新技术
  5. java socket 传输压缩文件_java基于socket传输zip文件功能示例
  6. src/main/resorces applicationContext.xml
  7. Oracle查询数据库中所有的表名称
  8. java基础七--网络编程(1)
  9. 深入浅出的mysql第三版和第二版的区别_深入浅出mysql和高性能mysql哪本好
  10. js判断ie11和qq,opera浏览器(亲测)
  11. dx12 龙书第十六章学习笔记 -- 实例化与视锥体剔除
  12. 科研|学生举报导师和院长剽窃其本科论文,校方处理结果令人失望!
  13. Linux 进程管理学习笔记(一)
  14. 复习记忆PE导入导出表
  15. mysql怎么加快搜索_优化mysql数据库 提高检索速度
  16. C#调用斑马打印机打印条码标签(含源码)(支持COM、LPT、USB、TCP连接方式和ZPL、EPL、CPCL指令)
  17. 集齐支付宝福卡秘籍来了!
  18. LeetCode第 621 题:任务调度器 (C++)
  19. ibm服务器电脑维修部电话,ibm有哪些电脑维修点 ibm电脑维修方法及维修点介绍【图文】...
  20. win7安装linux主题,[老友win10系统]Window7+CentOS6.5双系统安装图文教程

热门文章

  1. 企业建网站,这几种域名注定要错过
  2. 绍兴一中模拟赛3.19——时光流转
  3. 疑问贴|svga导出失败并且无法显示在保存路径中是为什么?
  4. 智能表单的应用和新增的表单属性
  5. STM32使用模拟I2C读取AS5600(深入讲解:带波形图)
  6. Schedule | 轻量化的定时任务框架
  7. C语言-五子棋【详解】
  8. vb中 := 是什么意思呢?
  9. 评分卡模型开发-用户数据缺失值处理
  10. Java数组逆序输出