2.3 Java中的运算符

运算符,是表示各种不同运算的符号。

运算符按功能分为算术运算符、逻辑运算符、关系运算符、赋值运算符、位运算符等。

1. 算术运算符

算术运算符一般用于对整型数和浮点型数运算。

运算符

运算

范例

结果

+

正号

+3

3

-

负号

b=4;-b

-4

+

5+5

10

-

6-4

2

*

3*4

12

/

5/5

1

%

取模(即算术中的求余数)

7%5

2

(1)自增运算符

“++”表示加1,可以在变量前面或后面,在变量前面表示变量加1再使用变量,在变量后面表示先使用变量再加1。

x = 1;
①y = x++;     结果:x = 2  y = 1
②y = ++x;     结果:x = 2  y = 2

(2)自减运算符

“--”表示减1,可以在变量前面或后面,在变量前面表示变量减1再使用变量,在变量后面表示先使用变量再减1。

x = 1;
①y = x--;     结果:x = 0  y = 1
②y = --x;     结果:x = 0  y = 0

2. 赋值运算符

赋值运算符的作用就是将常量、变量或表达式的值赋给某一个变量。Java中的赋值运算符及用法具体如下表所示。

运算符

运算

范例

结果

=

赋值

a=3;b=2;

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=1;b=2;

%=

模等于

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

a=1;b=2;

简单赋值运算符“=”,对于基本类型数据是新值赋给变量,对于引用数据类型是将引用值(地址)赋给变量。

除了“=”,其他的都是特殊的赋值运算符,例如y += x等价于y = y + x。

3. 关系运算符

比较运算符用于对两个数值或变量进行比较,比较运算结果是一个布尔值,即true或false。Java中的比较运算符及用法具体如下表所示。

运算符

运算

范例

结果

==

等于

4 == 3

false

!=

不等于

4 != 3

true

<

小于

4 < 3

false

>

大于

4 > 3

true

<=

小于或等于

4 <= 3

false

>=

大于或等于

4 >= 3

true

4. 逻辑运算符

逻辑运算符的对象只能是布尔类型,且运算结果也是布尔类型。

逻辑运算符包括非(!)、逻辑与(&)、逻辑或(|)、逻辑异或(^)、短路与(&&)、短路或(||)。

逻辑运算符运算规则如下:

2.3 Java中的运算符_第1张图片

(1)逻辑与(&)和短路与(&&)区别,使用短路与运算x && y时,若x值为false,就可以判断整个表达式为false,不再进行y值的求解;而逻辑与运算x & y时,即使x值为false,也会继续进行y值的求解,最后计算整个表达式的结果。

int x = 0;
int y = 0;
①boolean a = (x > 0) && (y++ > 0);  //y的值为0
②boolean b = (x > 0) & (y++ > 0);   //y的值为1

(2)逻辑或(|)和短路或(||)区别,使用短路或运算x || y时,若x值为true,就可以判断整个表达式为true,不再进行y值的求解;而逻辑或运算x | y时,即使x值为true,也会继续进行y值的求解,最后计算整个表达式的结果。

int x = 1;
int y = 1;
①boolean a = (x > 0) || (y++ > 0);   //y的值为1
②boolean b = (x > 0) |(y++ > 0);     //y的值为2

5. 位运算符

位运算符在整数的二进制位上进行的运算,分为位逻辑运算符和移位运算符。

(1)位逻辑运算符

位逻辑运算符共有4个,分别是按位取反(~)、按位与(&)、按位或(|)、按位异或(^)。

位逻辑运算符的运算规则如下:

2.3 Java中的运算符_第2张图片

(2)移位运算符

移位运算符共有3个,分别是左移运算符(<<)、右移运算符(>>)、无符号右移运算符(>>>)。

6. 运算符的优先级

复杂的表达式进行运算时,要明确表达式中所有运算符参与运算的先后顺序,通常把这种顺序称作运算符的优先级。

运算符优先级作为了解,编写代码过程中对于优先级使用圆括号,圆括号的优先级最高。

你可能感兴趣的:(Java程序设计,java)