运算符

运算符

内置运算符

算术运算符
关系运算符
逻辑运算符
位运算符
赋值运算符
其他运算符

算术运算符

假定 A 值为 10,B 值为 20。

运算符	描述	实例
+ 相加 A + B 输出结果 30
- 相减 A - B 输出结果 -10
* 相乘 A * B 输出结果 200
/ 相除 B / A 输出结果 2
% 求余 B % A 输出结果 0
++ 自增 A++ 输出结果 11
-- 自减 A-- 输出结果 9

关系运算符

假定 A 值为 10,B 值为 20。

运算符	描述	实例
== 检查两个值是否相等,如果相等返回 True 否则返回 False。 (A == B) 为 False
!= 检查两个值是否不相等,如果不相等返回 True 否则返回 False。 (A != B) 为 True
> 检查左边值是否大于右边值,如果是返回 True 否则返回 False。 (A > B) 为 False
< 检查左边值是否小于右边值,如果是返回 True 否则返回 False。 (A < B) 为 True
>= 检查左边值是否大于等于右边值,如果是返回 True 否则返回 False。 (A >= B) 为 False
<= 检查左边值是否小于等于右边值,如果是返回 True 否则返回 False。 (A <= B) 为 True

逻辑运算符

假定 A 值为 True,B 值为 False。

运算符	描述	实例
&& 逻辑 AND 运算符。 如果两边的操作数都是 True,则条件 True,否则为 False。 (A && B) 为 False
|| 逻辑 OR 运算符。 如果两边的操作数有一个 True,则条件 True,否则为 False。 (A || B) 为 True
! 逻辑 NOT 运算符。 如果条件为 True,则逻辑 NOT 条件 False,否则为 True。 !(A && B) 为 True

位运算符

假定 A 为60,B 为13

运算符	描述	实例
& 按位与运算符"&"是双目运算符。 其功能是参与运算的两数各对应的二进位相与。 (A & B) 结果为 12, 二进制为 0000 1100
| 按位或运算符"|"是双目运算符。 其功能是参与运算的两数各对应的二进位相或 (A | B) 结果为 61, 二进制为 0011 1101
^ 按位异或运算符"^"是双目运算符。 其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1。 (A ^ B) 结果为 49, 二进制为 0011 0001
<< 左移运算符"<<"是双目运算符。左移n位就是乘以2的n次方。 其功能把"<<"左边的运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。 A << 2 结果为 240 ,二进制为 1111 0000
>> 右移运算符">>"是双目运算符。右移n位就是除以2的n次方。 其功能是把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数。 A >> 2 结果为 15 ,二进制为 0000 1111

赋值运算符

运算符	描述	实例
= 简单的赋值运算符,将一个表达式的值赋给一个左值 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

其他运算符

运算符	描述	实例
& 返回变量存储地址 &a; 将给出变量的实际地址。
* 指针变量。 *a; 是一个指针变量

运算符优先级

有些运算符拥有较高的优先级,二元运算符的运算方向均是从左至右。下表列出了所有运算符以及它们的优先级,由上至下代表优先级由高到低:

优先级	运算符
7 ^ !
6 * / % << >> & &^
5 + - | ^
4 == != < <= >= >
3 <-
2 &&
1 ||

当然,你可以通过使用括号来临时提升某个表达式的整体运算优先级。

最新文章

  1. 如何在高并发分布式系统中生成全局唯一Id
  2. 设计模式(十二):通过ATM取款机来认识“状态模式”(State Pattern)
  3. 采用flask+uwsgi+nginx架构将flask应用程序部署在腾讯云
  4. XMPie部署与创建过程 - 快速指南
  5. Scalaz(7)- typeclass:Applicative-idomatic function application
  6. CUBRID学习笔记17 事务的回滚
  7. C#获取根目录的方法集合
  8. 更改win7资源管理器启动位置
  9. Mysql导出表结构及表数据 mysqldump用法
  10. YII 事件event和行为Behavior
  11. 除了四大传统OA软件商,国内还有这些优秀的OA协同产品
  12. Win7 Win8 Win10取不到机器码的处理办法
  13. mysql死锁-查询锁表进程-分析锁表原因【转】
  14. 机器学习入门-数值特征-对数据进行log变化
  15. mac通过命令行获取证书和配置文件过期时间
  16. JSTL 标签大全详解
  17. Kafka设计解析(十九)Kafka consumer group位移重设
  18. scapy学习笔记(4)简单的sniffing 嗅探
  19. Python练习笔记——采用生成器函数实现两数之间的偶数计算
  20. MySQL性能调优与架构设计——第9章 MySQL数据库Schema设计的性能优化

热门文章

  1. 再学UML-深入浅出UML类图(二)
  2. codeforces 609E Minimum spanning tree for each edge
  3. POJ-3267 The Cow Lexicon---删除字符匹配单词
  4. swift的特性:扩展、协议、泛型
  5. [转]关于VC++ MFC中的空闲Idle处理机制!
  6. Android学习笔记_15_网络通信之文件断点下载
  7. Retain NULL values vs Keep NULLs in SSIS Dataflows - Which To Use? (转载)
  8. Angularjs实例3
  9. Python学习之路——文件操作
  10. Sass 基础(六)