运算符

一、赋值运算符号

No.

赋值运算符号

描述

1

=

赋值

int num=22;
        System.out.println("num= "+num);
        num=num-3;
        System.out.println("num= "+num);

结果:

num= 22
num= 19

二、一元运算符

No.

一元运算符

描述

1

+

正号

2

负号

3

!

NOT,否

boolean flag=false;
        int x=10;        //定义一个正数
        int y=-30;        //定义一个负数
        System.out.println("x= "+x);
        System.out.println("y= "+y);
        System.out.println("flag= "+flag+"!b= "+!flag);

结果:

x= 10
y= -30
flag= false  !b= true

三、算术运算符

算术运行符和数学中的用法一样

No.

算术运算符

描述

1

+

加法

2

减法

3

*

乘法

4

/

除法

5

%

取模(取余数)

int i = 10;
        int j = 3;
        System.out.println(i+"+"+j +"="+(i+j));   //加法
        System.out.println(i+"-"+j +"="+(i-j));   //减法
        System.out.println(i+"*"+j +"="+(i*j));   //乘法
        System.out.println(i+"/"+j +"="+(i/j));   //除法
        System.out.println(i+"%"+j +"="+(i%j));   //取模求余数

结果:

10+3=13
10-3=7
10*3=30
10/3=3
10%3=1

四、关系运算符

No.

关系运算符

描述

1

>

大于

2

<

小于

3

>=

大于等于

4

<=

小于等于

5

==

等于

6

!=

不等于

五、自增与自减运算符

No.

自增与自减运算符

描述

1

++

自增,变量值加1

2

--

自减,变量值减1

int a=3,b=3;             //定义整型变量a,b
        int x=6,y=6;             //定义整型变量x,y
        System.out.println("a= "+a);         //输出变量a的值
        System.out.println("a++="+(a++)+"  a= "+a); //输入a++和a++之后a的值3,4
        System.out.println("b= "+b);
        System.out.println("++b="+(++b)+"  b="+b);   //值出++b,和++b之后b的值4,4
        System.out.println("x= "+x);
        System.out.println("x--="+(x--)+" x= "+x); //输出x--和x--之后x的值6,5
        System.out.println("y= "+y);
        System.out.println("--y="+(--y)+"   y="+y);  //输出--y和--y之后的值5,5

六、逻辑运算符

No.

逻辑运算符

描述

1

&

AND,与

2

&&

短路与

3

|

OR,或

4

||

短路或

AND及 OR结果表

No.

条件1

条件2

结果

&&(与)

||(或)

1

true

true

true

true

2

true

false

false

true

3

false

true

false

true

4

false

false

false

false



  • &&”与“&”
  • &&表示短路与
  • 对于“与”来说,要求所有的条件都判断,而如果使用“短路与”如果第一个条件为false,则后面的条件将不再判断
  • “||”与“|”
  • ||表示短路或
  • 对于“或”来说,要求所有的条件都判断,而如果使用“短路或”如果第一个条件为true,则后面的条件将不再判断。

 

七、括号运算符

No.

括号运算符

描述

1

()

提高括号中表达式的优先级

八、位运算符

No.

逻辑运算符

描述

1

&

按位与

2

|

按位或

3

^

异或(相同为0,不同为1)

4

~

取反

5

<<

左移位

6

>>

右移位

7

>>>

无符号右移位

位运算的结果表

No.

二进制数1

二进制数1

与操作(&

或操作(|

异或操作(^

1

0

0

0

0

0

2

0

1

0

1

1

3

1

0

0

1

1

4

1

1

1

1

0

九、运算符的优先级

优先级

运算符

结合性

1

()

括号运算符

由左至右

1

[]

方括号运算符

由左至右

2

!、+(正号)、-(负号)

一元运算符

由右至左

2

~

位逻辑运算符

由右至左

2

++、--

递增与递减运算符

由右至左

3

*、/、%

算术运算符

由左至右

4

+、-

算术运算符

由左至右

5

<<、>>

位左移、右移运算符

由左至右

6

>、>=、<、<=

关系运算符

由左至右

7

==、!=

关系运算符

由左至右

8

&(位运算符AND)

位逻辑运算符

由左至右

9

^(位运算符号XOR)

位逻辑运算符

由左至右

10

|(位运算符号OR)

位逻辑运算符

由左至右

11

&&

逻辑运算符

由左至右

12

||

逻辑运算符

由左至右

13

?:

三目运算符

由右至左

14

=

赋值运算符

由右至左

十、简洁表达式

No.

运算符

范例用法

说明

描述

1

+=

a += b

a + b的值存放到a中

a = a + b

2

-=

a -= b

a - b的值存放到a中

a = a - b

3

*=

a *= b

a * b的值存放到a中

a = a * b

4

/=

a /= b

a / b的值存放到a中

a = a / b

5

%=

a %= b

a % b的值存放到a中

a = a % b

简洁表达式的范例


No.

运算符

范例

执行前

说明

执行后

a

b

a

b

1

+=

a += b

12

3

a + b的值存放到a中(同a = a + b)

15

3

2

-=

a -= b

12

3

a - b的值存放到a中(同a = a – b)

9

3

3

*=

a *= b

12

3

a * b的值存放到a中(同a = a * b)

36

3

4

/=

a /= b

12

3

a / b的值存放到a中(同a = a / b)

4

3

5

%=

a %= b

12

3

 a % b 的值存放到a中(同a = a % b)

0

3

6

b++

a *= b++

12

3

a * b的值存放到a后,b加1(同a = a * b;b++)

36

4

7

++b

a *= ++b

12

3

  b加1后,再将a*b的值存放到a(同b++;a=a*b)

48

4

8

b--

a *= b--

12

3

a * b的值存放到a后,b减1(同a=a*b;b--)

36

2

9

--b

a *= --b

12

3

    b减1 后,再将a*b的值存放到a(同b--;a=a*b)

24

2