操作符

首先, 操作符的分类有:
算术操作符, 移位操作符, 操作符, 赋值操作符, 单目操作符, 关系操作符, 逻辑操作符, 条件操作符等等.

算术操作符:

  +   -   *   /   %   

1.运算符是有优先级的, 和数学上类似
2.对于除法来说, 整数除以整数, 结果还是整数(直接舍弃小数部分), 浮点数除以浮点数结果还是浮点数
3.如果两个操作数类型不同的时候, 如: 9.0 / 10 就会发生隐式类型转换, 转成相同类型再运算
4.不能对零求模或除以0, 求模只能针对整数
5.两个字符串不能 +

移位操作符(按二进制移位):

<<   左移操作符      >>   右移操作符

例如整数10, 二进制表示为: 00000000 00000000 00000000 00001010
左移规则: 所有二进制位整体向左移动一个位置, 舍弃最高位, 最右侧补0
右移规则: 所有二进制位整体向右移动一个位置, 舍弃最低位, 右移有两种情况:
1.逻辑右移: 最左侧补0
2.算术右移: 最左侧补符号位(有符号数, 最高位为0表示正数, 为1表示负数)
左移一位相当于算术 * 2, 右移一位相当于算术 / 2

位操作符: 按二进制位进行运算

& 按位与   | 按位或   ^ 按位异或   ~ 按位取反

1.& 按位与, 如果对应位两个数字都为1, 结果为1, 否则为0
2. | 按位或, 如果对应位两个数字都为0, 结果为0, 否则为1
3. ^ 按位异或, 对应位数字相同为0, 不同为1
4. ~ 按位取反, 对应位数字, 1变为0, 0变为1

赋值操作符:

= 

1.int num = 10; //初始化
2.num = 20; //赋值
注意: 语句1称为初始化, 语句2才是赋值
复合赋值符:

+=  -=  *=  /=  %=  <<=  >>=  &=  |=  ^=

+= 例如: n += 1; 可以理解为n = n+1;
同理其他复合赋值操作符, 效果类似

单目操作符:

!   &   sizeof   --   ++   ~   * 解引用操作符    

! 逻辑反操作 0与非0, 非0即是真
& 取地址
sizeof 操作数的类型长度(字节为单位)
- - 前置- -, 后置- -
++ 前置++, 后置++
如果不去研究n++和++n的返回值的话, 可以说它们是等价的
假如取返回值, ++n返回的是自增之后的值, 而n++返回的是自增之前的值

~ 对一个数的二进制按位取反
*间接访问操作符(解引用操作符)

关系操作符:

>  >=  <  <=  !=  ==

> >= < <= 返回值只能是0或1
!= 表示不相等
== 表示相等, 区分和赋值操作符 = 的区别

逻辑运算符:

&& 逻辑与     || 逻辑或

&& 逻辑与, 如果两个操作数都为真, 结果为真, 否则为假
|| 逻辑或, 如果两个操作数都为假, 结果为假, 否则为真

条件运算符:

exp1 ? exp2 : exp3

表达式1表示判定条件, 表达式1成立则返回表达式2, 不成立返回表达式3
条件运算符的优先级是最低的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值