Java开发:短路逻辑运算符&&和||(逻辑中断)

一、短路与(&&)

  在短路与存在的关系式中,如果左侧条件为,则直接返回,右侧的判断条件不再执行。

  例如:

if(list != null && list.size() > 0){ }

  其中list为列表,该条件判断列表不为空的情况。

  在list不为null时,左侧条件为真。右侧判断执行,对list的大小进行判断,是否为空列表,然后返回结果。

  在list为null时,此时左侧条件为假,即可返回结果为假,右侧判断不执行。所以右侧条件中list.size()这个方法不会报空指针错误,因为压根不执行。左右两个条件的顺序不可以反过来写,不然在list为null时会报错。

二、短路或(||)

  在短路或存在的关系式中,如果左侧条件为,则直接返回,右侧的判断条件不再执行。

  例如:

if(list == null || list.size() == 0){ }

  其中list为列表,该条件判断列表为空的情况。

  在list为null时,左侧条件为真,即可返回结果为真,右侧判断不执行。所以右侧条件中list.size()这个方法不会报空指针错误。左右两个条件的顺序不可以反过来写,不然在list为null时会报错。

  在list不为null时,此时左侧条件为假,右侧判断执行,对list的大小进行判断,是否为空列表,然后返回结果。

三、普通逻辑运算符对比

  和普通的逻辑运算符相比的话,&|都会将左右两侧的判断条件执行。

  那list为空时,list.size()就会报错,两个条件必须分开写,前后分两次校验或者嵌套校验。虽然没啥大区别,但观感不太好,结构嵌套能省则省。

 


__EOF__

本文作者我命倾尘
本文链接https://www.cnblogs.com/guobin-/p/16331147.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   我命倾尘  阅读(588)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示