文章目录

  • 1、算数运算符
  • 2、赋值运算符
  • 3、条件运算符
  • 4、按位运算符
  • 5、逻辑运算符
  • 6、条件三元运算符(?:)


1、算数运算符

假设整数类型变量A的值为:10,变量B的值为:20

运算符

描述

示例

+

加法运算符,第一个操作数加上第二个数操作数

A+B结构为30

-

减法运算符,从第一个操作数减去第二个操作数

A - B结果为:-10

*

两个操作数相乘

A * B结果为:200

/

左操作数除以右操作数返回模值

B / A结果为:2

%

左操作数除以右操作数返回余数

B / A结果为:0

++

将操作数的值增加1

A++,则A的值为:11


将操作数的值减1

A–,则A的值为:9

注意点:

  • 当 int ± char 的时候,char会按照ASCII表被转为数值在相加减。
  • 当String做加法时候,运算会变成字符串拼接,其他类型的数值与其相加也会先转为字符串后进行拼接。
  • ++-- 自增、自减:a++,++a 一个是先++,一个是后++,虽然这样写,先加后加结果不变,但有些时候这两个有不同结果;
int a = 0;
int b = 0;
b = a++; // a先赋值给b,b=0,a+1=1
b = ++a; // 先a+1=2,后赋值给b=2

2、赋值运算符

运算符

描述

示例

=

简单赋值运算符。 将右侧操作数的值分配给左侧操作数。

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 &= 2与C = C & 2相同

^=

按位异或和赋值运算符。

C ^= 2与C = C ^ 2相同

Ι=

按位包含或与赋值运算符。

C Ι= 2与C = C Ι=2相同

3、条件运算符

假设变量A的值是10,变量B的值是20.

运算符

描述

示例

==

等于运算符,检查两个操作数的值是否相等,如果相等,则条件变为真。

A==B结果为假。

!=

不等于运算符,检查两个操作数的值是否不相等,如果不相等,则条件变为真。

A!=B结果为真。

>

大于运算符,检查左操作数的值是否大于右操作数的值,如果大于,则条件变为真。

A>B结果为假。

<

小于运算符,检查左操作数的值是否小于右操作数的值,如果小于,则条件变为真。

A<B结果为真。

>=

大于或等于运算符,检查左操作数的值是否大于等于右操作数的值,如果大于或等于,则条件变为真。

A>=B结果为假。

<=

小于或等于运算符,检查左操作数的值是否小于或等于右操作数的值,如果小于或等于,则条件变为真。

A<=B结果为真。

4、按位运算符

Java定义了几个按位运算符,可以应用于整数类型, 如:long,int,short,char和byte。e按二进制位运算符处理位并执行逐位运算。假设整数变量A=60,变量B=13

运算符

描述

示例

&

二进制AND运算符,如果存在于两个操作数中,则它会将结果复制到结果中。

A & B的结果为:12,也就是:0000 1100

Ι

二进制OR运算符,如果存在于任一操作数中,则复制一位。

A Ι B 的结果为:61,也就是:0011 1101

^

二进制异或运算符,如果在一个操作数中设置但不在两个操作数中设置,则复制该位。

A ^ B的结果为:49,也就是:0011 0001

~

二元一元补充运算符是一元的,具有“翻转”位的效果。

~A的结果为:-61,也就是:1100 0011

<<

二进制左移运算符,左操作数值向左移动右操作数指定的位数。

A << 2的结果为:240,也就是:1111 0000

>>

二进制右移运算符,左操作数值向右移动右操作数指定的位数。

A >> 2的结果为:15,也就是:1111

>>>

右移零填充运算符。 左操作数值向右移动右操作数指定的位数,移位值用零填充。

A >>>2的结果为:15,也就是:0000 1111

5、逻辑运算符

假设布尔变量A的值为:true,变量B 的值为:false,则 -

运算符

描述

示例

&&

逻辑AND运算符。 如果两个操作数都不为零,则条件成立。

(A && B)结果为:false

ΙΙ

逻辑OR运算符。 如果两个操作数中的任何一个非零,则条件变为真。

(A ΙΙ B)结果为:true

!

逻辑非运算符。用于反转其操作数的逻辑状态。 如果条件为真,则口逻辑NOT运算符将为false。

!(A && B)结果为:true

6、条件三元运算符(?😃

int a = 2, b = 8;
int result = 0;
result = a > b? a : b; //判断a>b,真就执行?后面(a)赋值给result,假就执行:后面(b)赋值给result。