关于 Java 中操作符优先级、一二三元操作符以及逻辑操作符中德模佛定理小结。操作符的优先级和结合规则确定了操作符计算的顺序。
优先级:逻辑操作符 < 关系操作符 < 算术操作符
!
)、与(&&
)、或(||)、异或(^
)。优先级规则定义了操作符的先后次序,下表按照从上到下按优先级递减的方式排列。
优先级 | 操作符 |
---|---|
最高级 | var++和var- -(后置操作符) |
↓ | +、-(一元加号和一元减号)、++var、- -var(前置操作符) |
↓ | (type)类型转换 |
↓ | !(非) |
↓ | *、/、%(乘法、除法和求余运算) |
↓ | +、-(二元加法和减法) |
↓ | <、<=、>、>=(比较操作符) |
↓ | ==、!=(相等操作符) |
↓ | ^(亦或) |
↓ | &&(条件与) |
↓ | (条件或) |
最低级 | =、+=、-=、*=、/=、%=(赋值操作符) |
所有的二元操作符都是左结合(left-associative),赋值操作符是右结合(right-associative)。
一元运算符有且只有一个运算参数,二元运算符有且只有两个运算参数。
例如: 一元运算符 负号 - 1 : 它只能运算一个数据; 二元运算符 加号 1+ 2 :参加运算的只能是两个数据,多或者少都出错,它是二元运算符。
符号?
和:
在条件表达式中同时出现。它们构成一种条件操作符,因为操作数有三个,所以称为三元操作符(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 的基础,基础扎实,后期才可以稳步提升。其中的三元操作符有时候运用起来远比使用条件语句快得多,时间复杂度会大大降低。
我是白鹿,一个不懈奋斗的程序猿。望本文能对你有所裨益,欢迎大家的一键三连!若有其他问题、建议或者补充可以留言在文章下方,感谢大家的支持!