运算符和表达式

时间:2024-07-08 22:39:27

运算符

运算:对数据进行加工和处理。

运算符:表示各种运算的符号。

操作数:参与运算的数据。

根据操作数的个数,可以将运算符分为单目、双目和多目运算符。单目运算符只对1个操作数运算,双目运算符对2个操作数运算。

根据操作数和运算结果,运算符分为:算术运算符、关系运算符、逻辑运算符、位运算符。

算术运算符

算术运算符包括双目运算符和单目运算符。

双目算术运算符包括+(加)、-(减)、*(乘)、/(除)和%(取余)。

例如:

23+5              //结果是28

6*5               //结果是30

27/3               //结果是9

9%3               //结果是0

单目算术运算符包括++(自增)、--(自减)、-(负号)。

“++”和“--”用于整数类型的变量,不能用于常量或表达式。

“++”和“--”既可以出现在变量的左边,也可以出现在变量的右边。

例如:

int j=5;

j++;                     //结果,j等于6

++j;                        //结果,j等于7

--j;                         //结果,j等于6

j--;                         //结果,j等于5

关系运算符

关系运算是2个操作数之间的比较运算。

关系运算符有:>、<、>=、<=、= =和!=。        

其中“= =”和“!=”用于布尔类型及字符串类型操作数。        

字符类型操作数的比较依据是其Unicode值,字符串从左向右依此对每个字符比较。        

关系运算的运算结果是布尔类型值。如果关系成立,结果的值为true;否则,结果的值为false。

逻辑运算符

逻辑运算是对布尔类型操作数进行的与、或、非、异或等运算,运算结果仍然是布尔类型值。    

逻辑运算符有:&(与)、|(或)、!(非)、^(异或)、&&(条件与)、||(条件或)。

例如:

! true                     //结果是false

true & false           //结果是false

true | false              //结果是true

位运算符

位运算是对整数类型的操作数按二进制的位进行运算,所运算结果仍然是整数类型值

位运算符有:

~(位反)、&(位与)、|(位或)、^(位异或)

<<(左移位)、>>(右移位)、>>>(无符号右移位)

例如:x=132,y=204;计算~x和x^y的值

(1)将整数转换为二进制数。        

x=10000100,y=11001100

(2)对x按位进行取反操作。

~ 10000100=01111011  

(3)对x,y按位进行异或操作                

   10000100            

^ 11001100                

   01001000

(4)所得结果:~x=123,x^y=72。

赋值运算符

赋值运算用于给变量赋值,如下:变量名=表达式;        

赋值运算的顺序是从右向左的,即先计算表达式的值,再将表达式的值赋予变量。

例如:

int i=3, j;             //i的初始值是3          

j=i+2;               //结果,j的值是5          

i=2*j;               //结果,i的值是10          

j=j+4;              //结果,j的值是9

条件运算符

格式如下:表达式1 ?表达式2 :表达式3  

其中“?:”称为条件运算符,它是三目运算符。        

当“表达式1”的值是true,“表达式2”的值是最终表达式的值。

如果“表达式1”的值是false,“表达式3”的值是最终表达式的值。

表达式

表达式是用运算符将操作数连接起来的符合语法规则的运算式。

优先级

运算符

描述

优先级

结合性

.  []  ( )  

域,数组,括号

1

从左至右

++  --  -  !  ~

一元运算符

2

从右至左

*  /   %

乘,除,取余

3

从左至右

+  - 

加,减

4

从左至右

<<   >>    >>>

位运算

5

从左至右

<  <=   >   >=

逻辑运算

6

从左至右

==   !=

逻辑运算

7

从左至右

&

按位与

8

从左至右

^

按位异或

9

从左至右

运算符

描述

优先级

结合性

|

按位或

10

从左至右

&&

逻辑与

11

从右至左

||

逻辑或

12

从左至右

?   :

条件运算

13

从左至右

  =   *=   /=    %=    

  +=   =    <<=  

  >>=    >>>= 

  &=    ^=     |=        

位运算

14

从左至右

表达式的数据类型由运算结果的数据类型决定。