Java逻辑运算符

Java逻辑运算符包含下面6中符号:

&& 与 ;&& 与  前后两个操作数必须都是true才返回true,否则返回false

& 不短路与 ; & 不短路与 表达式都会执行到

|| 或; || 或 只要两个操作数中有一个是true,就返回true,否则返回false

|不短路或 ;| 不短路 或 表达式都会执行到

!非;! 非 ,如果操作数为true,返回false,否则,返回true

^异或;^ 异或 ,当两个操作数不相同时返回true,返回false

真值表

A                    B                            A&&B      A||B         !A           A^B          A&B         A|B

false               false                       false        false        true         false        false          false

true                false                       false       true          false        true          false          true

false               true                        false        true         true         true         false          true

true                     true                                true            true            false           false            true              true

总结

两种逻辑与(&&和&)的运算规则基本相同,两种逻辑或(||和|)的运算规则也基本相同。其区别是:&和|运算是把逻辑表达式全部计算完,而&&和||运算具有短路计算功能。所谓短路计算,是指系统从左至右进行逻辑表达式的计算,一旦出现计算结果已经确定的情况,则计算过程即被终止。对于&&运算来说,只要运算符左端的值为false,则因无论运算符右端的值为true或为false,其最终结果都为false。所以,系统一旦判断出&&运算符左端的值为false,则系统将终止其后的计算过程;对于 || 运算来说,只要运算符左端的值为true,则因无论运算符右端的值为true或为false,其最终结果都为true。所以,系统一旦判断出|| 运算符左端的值为true,则系统将终止其后的计算过程。

例如,有如下逻辑表达式:

(i>=1) && (i<=100)

此时,若i等于0,则系统判断出i>=1的计算结果为false后,系统马上得出该逻辑表达式的最终计算结果为false,因此,系统不继续判断i<=100的值。短路计算功能可以提高程序的运行速度。

建议:在程序设计时使用&&和||运算符,不使用&和|运算符。

用逻辑与(&&)、逻辑或(||)和逻辑非(!)可以组合出各种可能的逻辑表达式。逻辑表达式主要用在 if、while等语句的条件组合上。

例如:

int i = 1;

while(i>=1) && (i<=100) i++;    //循环过程

上述程序段的循环过程将i++语句循环执行100次。

例子

if((23>24)&&(100/0==0)){//23>24 为false,后面条件就不执行判断,当23<24为true,后面条件继续执行判断,抛出异常java.lang.ArithmeticException: / by zero

}

if((23>24)&(100/0==0)){//条件必须都执行判断,抛出异常java.lang.ArithmeticException: / by zero

}

if((23<24)||(100/0==0)){// ||短路或,当第一个条件为true,后面条件不执行判断;

}

if((23>24)|(100/0==0)){// | 非短路或,所有条件都要执行判断

}

例子二

版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。

java逻辑运算符_Java逻辑运算符相关推荐

  1. java 逻辑运算符_java逻辑运算符都有哪些

    展开全部 .| 逻辑运算符袭包括 &&.|2113|.!.其中 && 和 || 是双目运5261算符,实现逻辑与.4102逻辑或:!是单目运算符,实现逻辑非1653. ...

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

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

  3. 【源码+教程】Java课设项目_12款最热最新Java游戏项目_Java游戏开发_Java小游戏_飞翔的小鸟_王者荣耀_超级玛丽_推箱子_黄金矿工_贪吃蛇

    马上就要期末了,同学们课设做的如何了呢?本篇为大家带来了12款热门Java小游戏项目的源码和教程,助力大家顺利迎接暑假![源码+教程]Java课设项目_12款最热最新Java游戏项目_Java游戏开发 ...

  4. 黑马程序员全套Java教程_Java基础教程_异常(含扩展)(二十三)

    黑马程序员全套Java教程_Java基础教程_异常(含扩展)(二十三) 1.1 异常概述与异常体系结构 1.2 JVM遇到异常时的默认处理方案 1.3 异常处理 1.4 异常处理之try--catch ...

  5. JAVA中常用的逻辑运算符_Java中常用的运算符

    运算符是一种"功能"符号,用以通知 Java 进行相关的运算,Java 语言中常用的运算符可分为如下几种: 算数运算符.赋值运算符.比较运算符.逻辑运算符.条件运算符. 一.算数运 ...

  6. JAVA中常用的逻辑运算符_Java中的常见运算符以及使用

    Java中的运算符有算术运算符.关系运算符.逻辑运算符.赋值运算符.字符串连接运算符.三目运算符等.下面介绍一下这几种. 1.算术运算符 包括:加(+).减(-).乘(*).除(/).取余(%).自加 ...

  7. java 布尔逻辑运算符_Java运算符

    Java语言提供许多操作符.操作符是特殊的符号(symbol),它对一个或者两个.三个的操作数进行运算,然后返回一个结果,最简单的就像我们一年级学到的+ -号.一般地,可以将运算符分为四大类:算数运算 ...

  8. java 且_JAVA中逻辑运算符“|”和“”与“||”和“”的用法

    1.使用规则: (1)& 可以用作逻辑与的运算符,表示逻辑与(and) a.当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false ...

  9. java逻辑运算符试题_Java逻辑运算符(、||和!)

    逻辑运算符,把多个条件联合判断,用来判断条件是否成立.举例子,小明大于10岁,且数学测试分数超过90分,才能参加全国数学竞赛. 比如 intage=12;intscore=97;if(age>1 ...

最新文章

  1. SpringBatch配置数据库
  2. Kaggle HousePrice : LB 0.11666(排名前15%), 用搭积木的方式(一,原理)
  3. oracle 日期 extract,ORACLE——EXTRACT() 截取日期时间的函数使用
  4. 鸿蒙可胜安卓,【鸿蒙币谈】币圈投资中八大见顶信号,让你抓住最佳买卖机会!...
  5. 大型DCI网络智能运营实践
  6. python二维列表做参数_python sum函数iterable参数为二维list,start参数为“[]”该如何理解...
  7. spring order_Spring @Order批注
  8. 容器编排技术 -- 本地运行Kubrenetes v1.0
  9. window 2008+apache2.4.4+php5.5+mysql-5.6.12+phpmyadmin4.0.4.1安装过程(参考他人文章基础上加上自己遇到的问题)...
  10. 病毒及***防御手册之五
  11. Android 百度地图开发(二)--- 定位功能之MyLocationOverlay,PopupOverlay的使用
  12. 21.iozone的使用与介绍
  13. OpenHarmony学习笔记——编辑器访问Linux服务器进行编译
  14. 美国人口的模型预测——非线性最小二乘法
  15. np.array数组的切片
  16. mac最方便的文件管理器--Qspace
  17. DBA与项目的那堆事 ——目录
  18. Matlab声音处理教程
  19. 华擎主板设置来电开机_华擎主板设置来电开机_一块性价比超高的B550主板、华擎(ASRock)B550 Extreme4极限玩家主板 评测......
  20. 《环球》杂志 :《人工智能的“大脑”》

热门文章

  1. Excel VBA - 文件及目录操作
  2. 爬虫学习日记 Day1 什么是request,respond,url,headers
  3. 把16进制转换为ascii字符c语言,ASCII转16进制C语言
  4. shell softech 面料_求高人指点 猛犸象的SOFTECH面料和GTX PROSHELL面料哪个好
  5. javaee 中文帮助文档_大牛耗时三天整理的:微服务+Nginx+Kubernetes实战文档和面试题...
  6. mclmcrrt77 matlab,mclmcrrt77.dll下载
  7. Visual Studio 2008 完全卸载 - C语言零基础入门教程
  8. Python 条件判断 if/else - Python零基础入门教程
  9. jq之$(“ul li:first“)
  10. BugkuCTF-MISC题隐写