操 作 符 | 含 义 | 示 例 | 结果(假定age = 42) |
== | 等于 | age == 100 | false |
!= | 不等于 | age != 0 | true |
操 作 符 | 含 义 | 示 例 | 结果(假定age = 42) |
&< | 小于 | age &< 21 | false |
&<= | 小于或等于 | age &<= 18 | false |
> | 大于 | age > 16 | true |
>= | 大于或等于 | age >= 30 | true |
短路求值 操作符&&和||都具备一项名为短路求值(short circuiting)的特性。有时,根本没有必要将两个操作数都求值出来。例如,假定操作符&&的左操作数求值为false,那么整个表达式的结果肯定是false,不管右操作数的值是什么。类似地,如果操作符||的左操作数求值为true,那么整个表达式的结果肯定是true。在这些情况下,操作符&&和||将绕过对右侧的布尔表达式的求值。下面是一些例子: (percent >= 0) && (percent &<= 100) 在这个表达式中,假如percent的值小于零,那么操作符&&左侧的布尔表达式会求值为false。该值意味着整个表达式的结果肯定为false,无论右侧的表达式是什么。所以,不会对右侧的表达式进行求值。 (percent &< 0) || (percent > 100) 在这个表达式中,如果percent的值小于零,操作符||左侧的布尔表达式会求值为true。该值意味着整个表达式的结果肯定为true。所以,不会对右侧的表达式进行求值。 如果能小心地设计表达式来使用条件逻辑操作符,就可以避免通过不必要的工作来提升代码的性能。将计算容易、简单的布尔表达式放到条件逻辑操作符的左边,将较复杂的表达式放到右边。在许多情况下,程序并不需要求值更复杂的表达式。 |
类 别 | 操 作 符 | 描 述 | 结 合 性 |
主要(primary) | () ++ -- | 覆盖优先级 后递增 后递减 | 左 |
一元(unary) | ! + - ++ -- | 逻辑not 加 减 前递增 前递减 | 左 |
乘(multiplicative) | * / % | 乘 除 求余 | 左 |
加(additive) | + - | 加 减 | 左 |
关系(relational) | &< &<= > >= | 小于 小于或等于 大于 大于或等于 | 左 |
相等(equality) | == != | 等于 不等于 | 左 |
条件and(conditional and) | && | 逻辑and | 左 |
条件or(conditional or) | || | 逻辑or | 左 |
赋值(assignment) | = | 右 |
新闻热点
疑难解答