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

 

 

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

 

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

 

 

算术操作符

Operator

Use

Description

+

op1 + op2

返回op1op2的和

-

op1 - op2

返回op1op2的差

*

op1 * op2

返回op1op2的积

/

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

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

||

op1 || op2

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

!

! op

opfalse时,返回true;当optrue时,返回false

&

op1 & op2

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

|

op1 | op2

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

^

op1 ^ op2

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

 

 

移动操作符

Operator

Use

Operation

>>

op1 >> op2

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

<<

op1 << op2

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

>>>

op1 >>> op2

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

 

位操作符

Operator

Use

Operation

&

op1 & op2

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

|

op1 | op2

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

^

op1 ^ op2

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

~

~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

[] . (params) expr++ 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

从左到右

相等

== !=

从左到右

按位与

&

从左到右

按位异或

^

从左到右

按位或

|

从左到右

逻辑与

&&

从左到右

逻辑或

||

从左到右

条件

? :

从右到左

赋值

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

从右到左

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值