java中的操作符

学习提示:本节给出了Java语言中的所有操作符以及它们的用法和描述,还给出了它们的优先级,以供随时查阅。

 

Java语言中的操作符及操作符的优先级

 

算术操作符

Operator

Use

Description

+

op1 + op2

返回op1和op2的和

-

op1 - op2

返回op1和op2的差

*

op1 * op2

返回op1和op2的积

/

op1 / op2

返回op1除以op2的商

%

op1 % op2

返回op1除以 op2的余数

 

关系操作符

Operator

Use

Description

>

op1 > op2

当op1 大于op2 时返回true

>=

op1 >= op2

当op1 大于或等于op2 时返回true

<

op1 < op2

当op1 小于op2 时返回true

<=

op1 <= op2

当op1 小于或等于op2 时返回true

==

op1 == op2

当op1 等于大于op2 时返回true

!=

op1 != op2

当op1 不等于op2 时返回true

条件操作符

Operator

Use

Description

&&

op1 && op2

当op1和op2都是true时,返回true ;如果op1的值是false,则不运算右边的操作数

||

op1 || op2

当op1和op2有一个是true时,返回true;如果op1的值是true,则不运算右边的操作数

!

! op

当op是false时,返回true;当op是true时,返回false

&

op1 & op2

运算op1和op2;如果op1和op2都是布尔值,而且都等于true,那么返回true,否则返回false;如果op1和op2都是数字,那么执行位与操作

|

op1 | op2

运算op1和op2;如果op1和op2都是布尔值,而且有一个等于true,那么返回true,否则返回false;如果op1和op2都是数字,那么执行位或操作

^

op1 ^ op2

运算op1和op2;如果op1和op2不同,即如果有一个是true,另一个不是,那么返回true,否则返回false;如果op1和op2都是数字,那么执行位异或操作

 

移动操作符

Operator

Use

Operation

>>

op1 >> op2

将op1的位向右移动,距离由op2决定;左边的位填上最高位(符号位)

<<

op1 << op2

将op1的位向左移动,距离由op2决定;右边的位填上0

>>>

op1 >>> op2

将op1的位向右移动,距离由op2决定;左边的位填上0

位操作符

Operator

Use

Operation

&

op1 & op2

运算op1和op2;如果op1和op2都是布尔值,而且都等于true,那么返回true,否则返回false;如果op1和op2都是数字,那么执行位与操作

|

op1 | op2

算op1和op2;如果op1和op2都是布尔值,而且有一个等于true,那么返回true,否则返回false;如果op1和op2都是数字,那么执行位或操作

^

op1 ^ op2

运算op1和op2;如果op1和op2不同,即如果有一个是true,另一个不是,那么返回true,否则返回false;如果op1和op2都是数字,那么执行位异或操作

~

~op2

位补,即反转op2的每一位,如果位是1,结果是0,如果位是0,结果是1

位与

op1

op2

Result

0

0

0

0

1

0

1

0

0

1

1

1

位或

op1

op2

Result

0

0

0

0

1

1

1

0

1

1

1

1

位异或

op1

op2

Result

0

0

0

0

1

1

1

0

1

1

1

0

 

赋值操作符

Operator

Use

Equivalent to

+=

op1 += op2

op1 = op1 + op2

-=

op1 -= op2

op1 = op1 - op2

*=

op1 *= op2

op1 = op1 * op2

/=

op1 /= op2

op1 = op1 / op2

%=

op1 %= op2

op1 = op1 % op2

&=

op1 &= op2

op1 = op1 & op2

|=

op1 |= op2

op1 = op1 | op2

^=

op1 ^= op2

op1 = op1 ^ op2

<<=

op1 <<= op2

op1 = op1 << op2

>>=

op1 >>= op2

op1 = op1 >> op2

>>>=

op1 >>>= op2

op1 = op1 >>> op2

 

其他操作符

Operator

Description

?:

简写的的if-else语句,唯一的三元操作符

[]

用于声明数组、创建数组和访问数组元素

.

用于组成限定名

params )

标出一个以逗号分隔的参数列表的范围

type )

将一个值转换为指定的类型

new

创建一个对象或数组

instanceof

判断它的第一个操作数据数是否是它的第二个操作数的实例

 

操作符优先级

postfix perators

[] . (paramsexpr++ expr--

unary operators

++expr --expr +expr -expr ~ !

creation or cast

new (type)expr

multiplicative

* / %

additive

+ -

shift

<< >> >>>

relational

< > <= >= instanceof

equality

== !=

bitwise AND

&

bitwise exclusive OR

^

bitwise inclusive OR

|

logical AND

&&

logical OR

||

conditional

? :

assignment

= += -= *= /= %= &= ^= |= <<= >>= >>>=

注:上面的操作数优先级从上到下依次降低,同一个单元格内的优先级相同

 

 

操作

优先级

结合性

后缀运算符

[ ] . ( ) (函数呼叫)

从左到右

单目运算符

! ~ ++ -- +(单操作数) –(单操作数)

从右到左

创建

new

从左到右

乘除

* / %

从左到右

加减

+ -

从左到右

移位

<< >> >>>

从左到右

关系

< <= > >= instanceof

从左到右

相等

== !=

从左到右

按位与

&

从左到右

按位异或

^

从左到右

按位或

|

从左到右

逻辑与

&&

从左到右

逻辑或

||

从左到右

条件

? :

从右到左

赋值

= += -= *= /= %= ^= <<= >>= >>>=

从右到左

posted @ 2015-12-28 09:58  vegatate  阅读(187)  评论(0编辑  收藏  举报