关于 Java 中操作符优先级、一二三元操作符以及逻辑操作符中德模佛定理小结

举报
白鹿第一帅 发表于 2020/12/27 22:58:38 2020/12/27
2.8k+ 0 0
【摘要】 关于 Java 中操作符优先级、一二三元操作符以及逻辑操作符中德模佛定理小结。操作符的优先级和结合规则确定了操作符计算的顺序。

文章目录

  • 前言
  • 一、操作符优先级表
  • 二、一元运算符与二元运算符的区别?
  • 三、Java 中唯一的三元操作符
  • 四、逻辑操作符中德模佛定理
  • 总结

前言

关于 Java 中操作符优先级、一二三元操作符以及逻辑操作符中德模佛定理小结。操作符的优先级和结合规则确定了操作符计算的顺序。

在这里插入图片描述


优先级:逻辑操作符 < 关系操作符 < 算术操作符

  • 逻辑操作符(也称布尔操作符),是对布尔值进行的运算,它会创建新的布尔值。包括:非(!)、与(&&)、或(||)、异或(^)。
  • 关系操作符(<、<=、==、!=、>、>=)产生一个布尔值。

一、操作符优先级表

优先级规则定义了操作符的先后次序,下表按照从上到下按优先级递减的方式排列。

优先级 操作符
最高级 var++和var- -(后置操作符)
+、-(一元加号和一元减号)、++var、- -var(前置操作符)
(type)类型转换
!(非)
*、/、%(乘法、除法和求余运算)
+、-(二元加法和减法)
<、<=、>、>=(比较操作符)
==、!=(相等操作符)
^(亦或)
&&(条件与)
(条件或)
最低级 =、+=、-=、*=、/=、%=(赋值操作符)

所有的二元操作符都是左结合(left-associative),赋值操作符是右结合(right-associative)。

二、一元运算符与二元运算符的区别?

一元运算符有且只有一个运算参数,二元运算符有且只有两个运算参数。

例如:
一元运算符 负号 - 1 : 它只能运算一个数据;
二元运算符 加号 1+ 2 :参加运算的只能是两个数据,多或者少都出错,它是二元运算符。

三、Java 中唯一的三元操作符

符号?在条件表达式中同时出现。它们构成一种条件操作符,因为操作数有三个,所以称为三元操作符(ternary operator),它是 Java 中唯一的三元操作符。

在 Java 中的条件表达式中存在以下情况:

boolean-expression ? expression1 : expression2;(布尔表达式? 表达式1: 表达式2)

如果布尔表达式的值为 true,则条件表达式的结果为表达式 expression1,否则结果为 expression2。

四、逻辑操作符中德模佛定理

在这里插入图片描述
德模佛定理是以印度出生的英国数学家和逻辑学家奥古斯都▪德▪模佛来命名的(1806——1871),这个定理可以用来简化表达式。

定义描述如下:

!(condition1 && condition2)!condition1 || !condition2是等价的,
!(condition1 || condition2)!condition1 && !condition2是等价的。

即:

!(number % 2 == 0 && number % 3 == 0)等价于!number % 2 == 0 || !number % 3 == 0
!(number % 2 == 0 || number % 3 == 0)等价于!number % 2 == 0 && !number % 3 == 0

总结

本文给大家介绍了 Java 中操作符优先级、一二三元操作符以及逻辑操作符中德模佛定理。这些都是 Java 的基础,基础扎实,后期才可以稳步提升。其中的三元操作符有时候运用起来远比使用条件语句快得多,时间复杂度会大大降低。

在这里插入图片描述


感谢大家的支持,我是白鹿,一个不懈奋斗的程序猿。希望本贴能帮助到大家,欢迎大家的一键三连!如果还有什么问题、建议或者补充可以留言在帖子下方,给予更多人帮助!

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。