Java 运算符
Java 中的运算符与 C 中基本一致。
算术运算符
操作符 |
描述 |
例子 |
+ |
加法 : 相加运算符两侧的值 |
A + B 等于 30 |
- |
减法 : 左操作数减去右操作数 |
A – B 等于 -10 |
* |
乘法 : 相乘操作符两侧的值 |
A * B 等于200 |
/ |
除法 : 左操作数除以右操作数 |
B / A 等于2 |
++ |
自增: 操作数的值增加1 |
B++ 或 ++B 等于 21 |
-- |
自减: 操作数的值减少1 |
B-- 或 --B 等于 19 |
关系运算符
运算符 |
描述 |
例子 |
== |
检查如果两个操作数的值是否相等,如果相等则条件为真。 |
(A == B) 为假。 |
!= |
检查如果两个操作数的值是否相等,如果值不相等则条件为真。 |
(A != B) 为真。 |
> |
检查左操作数的值是否大于右操作数的值,如果是那么条件为真。 |
(A > B) 为假。 |
< |
检查左操作数的值是否小于右操作数的值,如果是那么条件为真。 |
(A < B) 为真。 |
>= |
检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真。 |
(A >= B) 为假。 |
<= |
检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真。 |
(A <= B) 为真。 |
逻辑运算符
操作符 |
描述 |
例子 |
&& |
称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真。 |
(A && B) 为假。 |
` |
|
` |
! |
称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false。 |
!(A && B) 为真。 |
位运算符
操作符 |
描述 |
例子 |
& |
如果相对应位都是1,则结果为1,否则为0 |
(A&B) ,得到12,即0000 1100 |
` |
` |
如果相对应位都是0,则结果为0,否则为1 |
^ |
如果相对应位值相同,则结果为0,否则为1 |
(A ^ B) 得到49,即 0011 0001 |
~ |
按位取反运算符翻转操作数的每一位,即0变成1,1变成0。 |
(〜A) 得到-61,即1100 0011 |
<< |
按位左移运算符。左操作数按位左移右操作数指定的位数。 |
A << 2 得到240,即 1111 0000 |
>> |
按位右移运算符。左操作数按位右移右操作数指定的位数。 |
A >> 2 得到15即 1111 |
>>> |
按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。 |
A>>>2 得到15即0000 1111 |
赋值运算符
操作符 |
描述 |
例子 |
= |
简单的赋值运算符,将右操作数的值赋给左侧操作数 |
C = A + B 将把A + B得到的值赋给C |
+= |
加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数 |
C += A 等价于C = C + A |
类似 +=
,其他的算数运算符、位运算符、逻辑运算符都可以加在 =
前面。
条件运算符
1
| variable x = (expression) ? value_if_true : value_if_false;
|
instanceof
运算符
该运算符用于操作对象实例,检查该对象是否是一个特定类型(类类型或接口类型)。
1
| variable instanceof class_or_interface_type_name;
|
例如:
1 2
| String name = "James"; boolean result = name instanceof String; // 由于 name 是 String 类型,所以返回真
|
运算符的优先级
详见参考。