运算符

运算符

内置运算符

  1. 算术运算符
  2. 关系运算符
  3. 逻辑运算符
  4. 位运算符
  5. 赋值运算符
  6. 其他运算符

算术运算符

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

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

关系运算符

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

  1. 运算符 描述 实例
  2. == 检查两个值是否相等,如果相等返回 True 否则返回 False (A == B) False
  3. != 检查两个值是否不相等,如果不相等返回 True 否则返回 False (A != B) True
  4. > 检查左边值是否大于右边值,如果是返回 True 否则返回 False (A > B) False
  5. < 检查左边值是否小于右边值,如果是返回 True 否则返回 False (A < B) True
  6. >= 检查左边值是否大于等于右边值,如果是返回 True 否则返回 False (A >= B) False
  7. <= 检查左边值是否小于等于右边值,如果是返回 True 否则返回 False (A <= B) True

逻辑运算符

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

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

位运算符

假定 A 为60,B 为13

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

赋值运算符

  1. 运算符 描述 实例
  2. = 简单的赋值运算符,将一个表达式的值赋给一个左值 C = A + B A + B 表达式结果赋值给 C
  3. += 相加后再赋值 C += A 等于 C = C + A
  4. -= 相减后再赋值 C -= A 等于 C = C - A
  5. *= 相乘后再赋值 C *= A 等于 C = C * A
  6. /= 相除后再赋值 C /= A 等于 C = C / A
  7. %= 求余后再赋值 C %= A 等于 C = C % A
  8. <<= 左移后赋值 C <<= 2 等于 C = C << 2
  9. >>= 右移后赋值 C >>= 2 等于 C = C >> 2
  10. &= 按位与后赋值 C &= 2 等于 C = C & 2
  11. ^= 按位异或后赋值 C ^= 2 等于 C = C ^ 2
  12. |= 按位或后赋值 C |= 2 等于 C = C | 2

其他运算符

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

运算符优先级

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

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

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

go学习笔记-运算符的更多相关文章

  1. Dart学习笔记-运算符-条件表达式-类型转换

    Dart学习笔记-运算符-条件表达式-类型转换 一.运算符 1.算术运算符 + (加)- (减)* (乘)/ (除)~/ (取整) %(取余) 2.关系运算符 == (等等) != (不等) > ...

  2. VBA 学习笔记 - 运算符

    学习资料:https://www.yiibai.com/vba/vba_operators.html 算术运算符 加减乘除模指,这个没啥特别的. 比较运算符 和 Lua 相比,判断相等变成了一个等于号 ...

  3. JavaScript学习笔记——运算符和表达式

    javascript运算符 一.运算符和操作数的组合就称为表达式. 二.javascript运算符 (一) 算术运算符 + - * / % var++ ++var var-- --var A. + ( ...

  4. java学习笔记----运算符

    一.算数运算符 特别说明: 加 ,减 ,乘 ,除 与数学运算一致 取余符号看被除数 自加(减)运算:++a,--a;先做自加(自减)运算在做其他运算 a++,a--;先做其他运算在做自加(自减)运算 ...

  5. [python学习笔记] 运算符

    数学运算符 与大多语言相同的运算符就不介绍了.不同的地方会用 (!不同)标出 与java相同的运算符 , - , * , % , / 不同之处 除法 (!不同) /  与java不同,整数相除,结果为 ...

  6. python基础学习笔记——运算符

    计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算.比较运算.逻辑运算.赋值运算.成员运算.身份运算.位运算,今天我们暂只学习算数运算.比较运算.逻辑运算.赋值运算 算数运 ...

  7. C学习笔记-运算符

    一些基本概念 数据对象:泛指数据在内存的存储区域 左值:表示可以被更改的数据对象 右值:能赋给左值的量 算数运算符 运算符 描述 实例 + 把两个操作数相加 a + b - 从第一个操作数中减去第二个 ...

  8. C++学习笔记-运算符重载

    运算符重载使得用户自定义的数据以一种更简洁的方式工作 运算符重载规则 重载运算符的限制 可以重载的运算符 + - * / % ^ & | ~ ! = < > += -= *= /= ...

  9. 【Python】2.16学习笔记 运算符,位运算符,if-else语句

    复合运算符 a *= b # a = a * b a += b # a = a + b a -= b # a = a - b ... 位运算符 对数字进行二进制运算 按位与 &,二进制位都为一 ...

随机推荐

  1. Asterisk 对wav格式的支持

    经过测试wav格式文件仅支持PCM 8000kHz 16bit 单声道,非常蛋疼的一个原因,排查了好久! 关于C#支持的一些格式(Mono 单声道 .Stereo 立体声道) // Standard ...

  2. c++链表实现学生成绩管理系统(简易版)

    #include<iostream> using namespace std; typedef struct student{ int id;//学号 string sex; string ...

  3. Python——追加学习笔记(一)

    映射.字典 ## 映射类型内建函数 * dict Error: Python核心编程(第二版)p170 >>> dict([['x', 1], ['y', 2]]) {'y': 2, ...

  4. 原生JavaScript实现JSON合并(递归深度合并)

    // 遇到相同元素级属性,以(minor)为准 // 不返还新Object,而是main改变 function mergeJSON(minor, main) { for(var key in mino ...

  5. 【转载】#445 - Differences Between an Interface and an Abstract Class

    An interface provides a list of members, without an implementation, that a class can choose to imple ...

  6. Ubuntu下Qt(Retex)无法输入中文

    这个问题从我第一次在Ubuntu上使用Qt便困扰着我,奈何之前一直没认真去解决掉这个问题.今天作死想想,这个不可能解决不掉的.因为那么多人用Ubuntu,而且又那么多人用Qt的产品,比如Retext. ...

  7. 面条代码 vs. 馄沌代码

    转载自:https://blog.csdn.net/godsme_yuan/article/details/6594013

  8. LA 4987 背包

    题意: 有n个施工队,给定他们的位置,有m个防空洞,给定位置,求将施工队放到m个防空洞里面,最少的总距离? n<=4000 分析: dp[i][j] 前 i 个施工队,放到前 j 个防空洞里面的 ...

  9. hiho 第155周 任务分配

    最小路径覆盖会超时: 贪心思路: 按照开始时间排序,然后根据结束时间,维护一个以结束时间的单调递增的队列,每次与最快结束的任务进行比较即可: /* #include <cstdio> #i ...

  10. 使用MSF生成木马_入侵Windows

    1>生成木马 (123.exe)        -f 输出格式 -o 输出地址 2>启动msfconsole 3>进行设置&&启动攻击 4>木马运行&后 ...