Java 五种常见的运算符:

算术运算符、赋值运算符、比较运算符、逻辑运算符和位运算符

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


一,算术运算符  

5种双目算术运算符: +,-,*,/,%

2种单目算术运算符:++,--

注:“目”就是代表参与运算的操作成员数量。

单目运算符:指完成此类运算只需要一个操作数。

算数运算符
描述
实例结果
+求和5+5
10
-求差5-4
1
*

两数相乘

2*3
6
/

两数相除

10/33
%取模(求余)10%3
1
++自增(前,后)

--自减(前,后)


注:

1.(自增、自减)采用前缀模式时,先执行自增或自减运算,再计算表达式的值;

2.(自增、自减)采用后缀模式时,先计算表达式的值,然后再执行自增或自减操作;

3.两数相除(/)运算如果是两个整数时结果只会显示整数,也叫取整。

4.通常会在书写表达式时,为清晰思路,即使不改变运算符优先级,也会使用圆括号,圆括号必须成对出现。



二,赋值运算符 

运算符描述实例

=

简单赋值操作符,将值从右边的操作数分配给左操作数

C = A + B

将一个A + B值分配给C

+=添加和赋值运算符,它将右操作数添加到左操作数,并将结果赋给左操作数

C += A

相当于C = C + A

-=

减法和赋值操作符的右操作数,减去从左操作数并将结果赋给左操作数

C -= A

相当于C = C - A

*=

乘法和赋值操作符的右操作数,它将与左操作数并将结果赋给左操作数

C *= A

相当于C = C * A

/=

分隔和赋值运算符,它将左操作数和右操作数分开,并将结果赋给左操作数

C /= A 

相当于C = C / A

%=

余数和赋值运算符,它使用两个操作数取模,并将结果赋给左数

C %= A 

相当于C = C % A

<<=

左移和赋值运算符

C <<= 2 

相当于C = C << 2

>>=

右移位和赋值运算符

C >>= 2

相当于C = C >> 2

&=

位运算符和赋值操作符

C &= 

相当于C = C & 2

^=

位异或运算和赋值操作符

C ^= 2

相当于C = C ^ 2

|=

逐位或和赋值操作符

C |= 2 

相当于C = C | 2



三,比较运算符(关系运算符) 

运算符

描述
实例

==

检查两个操作数的值是否相等或不相等,如果是的话,条件成为真。

(A == B) is not true.

!=

检查两个操作数的值是否相等或不相等,如果值不相等则条件成为真。

(A != B) is true.

>

检查左操作数的值是否大于右操作数的值,如果是的话条件成为真。

(A > B) is not true.

<

检查左操作数的值是否小于右操作数的值,如果是的话条件成为真。

(A < B) is true.

>=

检查左操作数的值是否大于或等于右操作数的值,如果是的话条件成为真。

(A >= B) is not true.

<=

检查左操作数的值是否小于或等于右操作数的值,如果是的话条件成为真。

(A <= B) is true.



四,逻辑运算符 

运算符描述实例

&&

被称为短路与。

(A && B) is false.

||

被称为短路或

(A || B) is true.

!

被称为逻辑反

!(A && B) is true.

&

被称为逻辑与运算符。

(A & B) is false.

|

被称为逻辑或操作符。

(A | B) is true.



五,位运算符 

运算符描述实例

&

如果它存在于两个操作数中,二进制和操作符将对结果复制一点。

(A & B) will give 12 which is 0000 1100

|

如果它存在于任何一个操作数中,二进制或操作符复制一个位。

(A | B) will give 61 which is 0011 1101

^

二进制异或操作复制点如果它被设置在一个操作数不。

(A ^ B) will give 49 which is 0011 0001

~

二进制运算符是一元运算符具有“翻转”位的影响。

(~A ) will give -61 which is 1100 0011 in 2's complement form due to a signed binary number.

<<

二进制左移位算子。左操作数的值是由右操作数指定的位数移动的。

A << 2 will give 240 which is 1111 0000

>>

二进制右移位算子。左操作数的值是由右操作数指定的位数移动的。

A >> 2 will give 15 which is 1111

>>>

移位右零填充算子。左操作数的值是由右操作数指定的位数移动的,而移位的值是用0填充的。

A >>>2 will give 15 which is 0000 1111



Java中运算符的优先级 

所谓优先级,就是在表达式中的运算顺序。Java 中常用的运算符的优先级如下表所示:

优先级运算符
1()
2! +(正) -(负) ++ --
3* / %
4+(加) -(减)
5< <= > >= 
6== !=
7^
8&&
9||
10
?:
11= += -= *= /= %=



其他1:字符串连接符 

“+”除了用于算术加法运算以外,还可以用于对字符串进行连接操作。

例如:

int i = 1 + 3;

String s = “Hello” + “World”;

“+”运算符两侧的操作数中只要有一个是字符串类型,系统会自动将另一个操作数转换为字符串然后再进行连接



其他2:条件运算符 

唯一一个三目运算符。

语法如下:a=exp1?exp2:exp3;

如果exp1的结果为真(即非0),则a=exp2的值;否则a=exp3的值

例如:

big=(a>=b)?a:b; 

a>=b为真,则big=a,否则big=b