相等,关系,条件运算符
相等以及关系运算符
相等以及关系运算符确定一个运算银子是大于,小于,等于,或者不等于另一个。这些操作符大多数你可能都看起来很熟悉。注意判断两个原始值是否相等的时候一定要使用 “==
“, 而不是 “=
“.
|
|
下面的程序 ComparisonDemo
,测试了比较操作符:
|
|
输出结果:
|
|
条件运算符
运算符 &&
和 ||
代表了两个布尔表达式的逻辑与和逻辑或运算。这两个操作符都表现”短路”行为,意味着第二个操作因子仅在试用的时候才进行计算。
|
|
下面程序, ConditionalDemo1
, 测试了操作因子:
|
|
另外一个条件运算符 ?:
, 可以看作是 if-then-else
(在控制流程部分讨论 )语句块的简写 .该操作符也被称为三元运算符因为他使用了三个操作因子。下面的例子中,该操作符可以读作: “如果 someCondition
是 true
, 将 value1
的值赋给result
. 否则的话,将 value2
的值赋值给 result
.”
下面的程序, ConditionalDemo2
, 测试了三元运算符?:
:
|
|
因为 someCondition
是 true,这个程序打印了 “1” . 使用 ?:
运算符代替 if-then-else
语块可以使你的代码可读性更高; 例如当表达式比较紧凑又没有附加结果(赋值的时候).
类型对照运算符instanceof
instanceof
运算符那一个对象与具体的类进行对比。你可以使用它来测试对象是否是某个类的实例,是否是子类的实例,或者是否为实现了某个结构的类的实例。
下面的程序 InstanceofDemo
,定义了一个父类 (类名 Parent
),一个简单的接口 (接口名 MyInterface
), 以及一个继承了父类并实现了接口的子类 (类名 Child
) .
|
|
输出结果:
|
|
使用的 instanceof
运算符的时候, 注意 null
不是任何类的实例.