Java学习之四 Java运算符
Java运算符分为以下几种:
- 算术运算符
- 关系运算符
- 位运算符
- 逻辑运算符
- 赋值运算符
- 其他运算符
算术运算符
操作符 | 描述 |
---|---|
+ | 加法 |
- | 减法 |
* | 乘法 |
/ | 除法 |
% | 取余,左操作数除以右操作数的余数 |
++ | 自增1 |
-- | 自减1 |
位运算符
操作符 | 描述 |
---|---|
& | 按位与,如果相对应位都是1,则结果为1,否则为0 |
| | 按位或,如果相对应位都是0,则结果为0,否则为1 |
^ | 按位异或,如果相对应的位值相同,则结果为0,否则为1 |
~ | 按位取反,翻转操作数的每一位,即0变成1,1变成0 |
<< | 按位左移,左操作数按位左移右操作数指定的位数 |
>> | 按位右移,左操作数按位右移右操作数的位数 |
>>> | 按位右移补零,左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充 |
关系运算符
运算符 | 描述 |
---|---|
== | 值是否相等,相等则为真 |
!= | 值是否不相等,不相等则为真 |
> | 左操作数是否大于右操作数,大于则为真 |
< | 左操作数是否小于右操作数,小于则为真 |
>= | 左操作数是否大于或等于右操作数,大于或等于则为真 |
<= | 左操作数是否小于或等于有操作数,小于或等于则为真 |
逻辑运算符
操作符 | 描述 |
---|---|
&& | 逻辑与,两个操作数都为真,条件才为真 |
|| | 逻辑或,任何一个操作数为真,则为真 |
! | 逻辑非,用来反转操作数的逻辑状态。条件为真则结果假 |
短路逻辑运算符
当使用与逻辑运算符时,当第一个操作数为false则一定为false,这时候就不会在判断第二个操作数了。
赋值运算符
=,简单的赋值运算符。算术运算符与位运算符都可以与=组合成复杂的赋值运算符。
条件运算符(?:)
条件运算符也称为三元运算符。
variable x = (expression) ? value if true : value if false
instanceof运算符
该运算符用于操作对象实例,检查该对象是否是一个特定类型(类类型或接口类型)
( Object reference variable ) instanceof (class/interface type)
- 如果运算符左侧变量所指的对象,是操作符右侧类或接口的一个对象,那么结果为true
- 如果被比较的对象兼容于右侧类型,改运算符返回true
String name="Test";
boolean result = name instanceof String;//true
class A{}
public class B extends A{
publice static void main(String[] args)
{
A a= new B();
boolean result = a instance of B;//true
}
}
运算符的优先级:
后缀(()[].)>一元(++ -- - ! ~)>乘性(*/%)>加性(+ -)>位移(>> << >>>)>关系(> >= < <=)>相等(== !=)
>&>^>|>?:>赋值(=,+=等)>逗号,