为了账号安全,请及时绑定邮箱和手机立即绑定

java学习之旅

标签:
Java

在学习离散数学的时候,只知道一直学着莫名其妙的符号,不知其用途在何处。学习了java的逻辑运算符之后才发现,其实离散数学与计算机语言的关联是非常大的。
java中的逻辑运算符和C中一样,只不过在学习java的过程中,更加深入地理解了其作用,以 表达式A 逻辑运算符 表达式B 为例吧(这里的表达式都是布尔表达式,结果为0或1)。

与:

当两个boolean表达式都为true时,结果才为true,其他均为false。而“与”又分为“位与”和“短路与”,区别如下:
&(位与):如果A表达式为false,也会判断B表达式,再返回false。
&&(短路与):如果A表达式为false,则不再判断B表达式,直接返回false

我们可以看看下面代码的结果:

System.out.println(false & (100 / 0 == 100));//出错,说明执行了(100 / 0 == 100);System.out.println(false && (100 / 0 == 100));//结果为false,说明并没有执行(100 / 0 == 100);

或:

当两个boolean表达式都为false时,结果才为false,其他均为true。
同样地,“或”也有“或”和“短路或”之分,区别如下:
|:如果A表达式为true,也会判断B表达式,再返回true。
||:如果A表达式为true,则不再判断B表达式,直接返回true。

同样地,我们来看看下面代码的结果:

System.out.println(true | (100 / 0 == 100));//出错,说明执行了(100 / 0 == 100);System.out.println(true || (100 / 0 == 100));//结果为true,说明并没有执行(100 / 0 == 100);

异或:

异或比较简单,直接判断表达式A与表达式B是否相同,相同为false,不同为true。
通过代码看就比较直观了:

System.out.println(true ^ true);//falseSystem.out.println(true ^ false);//trueSystem.out.println(false ^ true);//trueSystem.out.println(false ^ false);//false

非:

非最简单,也就是取反操作,true变false,false变true。
看看代码吧:

System.out.println(!true);//falseSystem.out.println(!false);//trueSystem.out.println(!!!!!true);//false

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消