天天看点

JAVA语法基础之运算符

运算符是一种特殊符号,用以表示数据的运算、赋值和比较。运算符共分为算术运算符、赋值运算符、比较运算符、逻辑运算符、移位运算符。

一、算术运算符

算术运算符的功能是做各种算术运算,其操作数可以是字符型、整型或浮点型数据。Java中的算术运算符又可以分为两种:单目运算符和双目运算符。单目运算符的操作数只有一个,只对唯一的操作数进行处理。双目运算符操作数有两个,运算过程中由两个操作数参与完成。算术运算符见下表:

运算符

运算

范例

结果

类型

+

正号

+3

单目运算符

-

负号

b=4;-b;

-4

5 + 5

10

双目运算符

6 - 4

2

*

2 * 2

4

/

5 / 5

1

%

取模

5 % 3

++

自增(前)

a = 2; b = ++a;

a = 3; b = 3

自增(后)

a = 2; b = a++;

a = 3; b = 2

--

自减(前)

a = 2; b = --a;

a = 1; b = 1

自减(后)

a = 2; b = a--;

a = 1; b = 2

字符串相加

"Hel" + "lo"

"Hello"

注意:自增与自减位置的区别。

二、赋值运算符

赋值运算符的作用就是将一个值赋值给另一个变量,最常用的赋值运算符是“=”,赋值运算符的左边必须是一个变量,而不是一个值。赋值运算符见下表:

=

赋值

a = 3; b = 2;

+=

加等于

a = 3; b = 2; a += b;

a = 5; b = 2;

-=

减等于

a = 3; b = 2; a -= b;

a = 1; b = 2;

*=

乘等于

a = 3; b = 2; a *= b;

a = 6; b = 2;

/=

除等于

a = 3; b = 2; a /= b;

%=

摸等于

a = 3; b = 2; a %= b;

三、关系运算符

关系运算符用来比较两个值的关系,是双目运算符,运算结果为boolean类型。关系运算符见下表:

==

相等于

4 == 3

false

!=

不等于

4 != 3

true

<

小于

4 < 3

>

大于

4 > 3

<=

小于等于

4 <= 3

>=

大于等于

4 >= 3

instanceof

检查是否为类的对象

"a" instanceof String

四、逻辑运算符

逻辑运算符用于对boolean类型结果的表达式进行运算,运算结果都是boolean型的。

&

false & true

|

false | true

^

异或

true ^ false

!

! true

&&

false && true

||

false || true

注意:&与&&的区别在于,如果使用前者连接,那么无论何种情况,&两边的表达式都会参与运算。如果使用后者连接,当&&左边为false时,右边将不参与运算。同理|和||。

五、位运算符

数据在计算机内部是以二进制存储编码的,Java允许对这些二进制进行位运算。位运算符见下表:

位运算符

功能描述

x & y

按位进行与运算

x | y

按位进行或运算

x ^ y

按位进行异或运算

!x

按位进行非运算

>>

右移

x >> y

将x的二进制编码右移y位,前面的位由符号填充

<<

左移

x << y

将x的二进制编码左移y位,低位补0

>>>

无符号右移

x >>> y

将x的二进制编码右移y位,前面的位由0填充

六、其他运算符

三目运算符:一般形式为:<逻辑表达式1> ? <表达式2> : <表达式3>

():用于强制类型转换、方法调用。

[]:声明、创建数组及访问数据中的特定元素。

new:创建对象、数组。

.:访问类成员变量,对象成员变量。

七、运算符优先级

优先级

() []

++ -- ~ !

* / %

+ -

>> >>> <<

> >= < <=

== !=

?:

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