java短路逻辑运算符实例用法详解
1、说明
逻辑操作符执行短路求值。所谓短路,就是当一个参与运算的操作数足以推断该表达式的值时,另一个操作数(可能是表达式)就不会执行。
在使用逻辑操作符时,当两个操作数都是true时,结果是true,但当第一个操作是false时,结果必须是false,此时不再判断第二个操作。
2、实例
public static void main(String[] args) {
int a = 5;//定义一个变量;
boolean b = (a < 4) && (a++ < 10);
//使用短路逻辑运算符的结果为false
System.out.println("使用短路逻辑运算符的结果为" + b);
//a的结果为5
System.out.println("a的结果为" + a);
}
该程序使用短路逻辑逻辑运算符(&&),首先判断a<4的结果是false,b的结果是false,因此不再执行第二操作a++<10的判断,因此a的值为5。
知识点扩展:
Java 提供了两个在大多数其他计算机语言中没有的有趣的布尔运算符。这就是逻辑AND和逻辑OR的特殊的短路版本。
在逻辑OR的运算中,如果第一个运算数A为真,则不管第二个运算数B是真是假,其运算结果为真。
同样,在逻辑AND的运算中,如果第一个运算数A为假,则不管第二个运算数是真是假,其运算结果为假。
如果运用||和&&形式,而不是|和&,那么一个运算数就能决定表达式的值,Java的短路版本就不会对第二个运算数求值,只有在需要时才对第二个运算数求值。为完成正确的功能,当右边的运算数取决于左边的运算数是真或是假时,短路版本是很有用的。例如,下面的程序语句说明了短路逻辑运算符的优点,用它来防止被0除的错误:
if (denom != 0 && num / denom > 10)
既然用了短路AND运算符,就不会有当denom为0时产生的意外运行时错误。如果该行代码使用标准AND运算符(&),它将对两个运算数都求值,当出现被0除的情况时,就会产生运行时错误。
既然短路运算符在布尔逻辑运算中有效,那么就在布尔逻辑运算中全用它,而标准的AND和OR运算符(只有一个字符)仅在位运算中使用。然而,这条规则也有例外。例如,考虑下面的语句:
if(c==1 & e++ < 100) d = 100;
到此这篇关于java短路逻辑运算符实例用法详解的文章就介绍到这了,更多相关java短路逻辑运算符是什么内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
java application maven项目打自定义zip包实例(推荐)
下面小编就为大家带来一篇java application maven项目打自定义zip包实例(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-05-05
SpringBoot集成WebSocket实现后台向前端推送信息
在一次项目开发中,使用到了Netty网络应用框架,以及MQTT进行消息数据的收发,这其中需要后台来将获取到的消息主动推送给前端,所以本文记录了SpringBoot集成WebSocket实现后台向前端推送信息的操作,需要的朋友可以参考下2024-02-02
logback-spring.xml的配置及示例详解(直接复制粘贴可用)
在使用logback作为日志框架时,可以创建一个名为logback-spring.xml的配置文件来自定义日志输出的格式和方式,下面这篇文章主要给大家介绍了关于logback-spring.xml的配置及示例详解的相关资料,文中的代码直接复制粘贴可用,需要的朋友可以参考下2024-01-01
SpringBoot浅析缓存机制之Ehcache 2.x应用
EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点。它是Hibernate中的默认缓存框架。Ehcache已经发布了3.1版本。但是本文的讲解基于2.x版本2022-08-08


最新评论