1.概念
运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等
2.分类
(1).算术运算符
(2).赋值运算符
(3).比较运算符/关系运算符
(4).逻辑运算符
(5).位运算符
(6).其它运算符
1.基本概念
算术运算符是对数组类型的变量进行运算的,比如:加减乘除,在GO程序中使用的非常多。
3.示例代码如下:
4.算术运算符使用注意细节
(1).对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。例如:x := 19 / 5 ,结果是3。
(2).当对一个数取模时,可以等价于a % b = a - (a / b) * b,这是取模的本质运算。
(3).Golang的自增自减只能当做一个独立语言使用,不能按照如下这样使用:
(4).Golang的++和–只能写在变量的后面,不能写在变量的前面,即只有 a++ a–,没有++a和–a
(5).Golang的设计者去掉c/Java中的自增自减的容易混淆的写法,让Golang更加简洁、统一,并且这是强制性的
5.练习题
(1).要求
a.假如还有 97 天放假,问:xx 个星期零 xx 天
b.定义一个变量保存华氏温度,华氏温度转换摄氏温度的公式为:5/9*(华氏温度-100),请求出华氏温度对应的摄氏温度
(2).代码示例如下
1.基本介绍
(1).关系运算符的结果都是bool型,也就是要么是true,要么是false
(2).关系表达式经常用在if结构的条件中或循环结构的条件中
2.关系运算符一览表
3.关系运算符的细节说明
(1).关系运算符的结果都是bool型,也就是要么是true,要么是false
(2).关系运算符组成的表达式,我们称为关系表达式:a > b
(3).比较运算符“==”不能误写成“=”
1.基本介绍
用于连接多个条件(一般来讲就是关系表达式),最终的结果也是一个bool值
2.逻辑运算的说明:
3.注意事项和细节说明
(1).&&也叫短路与:如果第一个条件为false,则第二个条件不会判断,最终结果为false
(2).||也叫短路或:如果第一个条件为true,则第二个条件不会判端,最终结果为true
1.基本介绍
赋值运算符就是将某个运算后的值,赋给指定的变量
2.赋值运算符的分类
3.赋值运算符的特点
(1).运算顺序从右往左
(2).赋值运算符的左边,只能是变量,右边可以是变量、表达式、常量值
(3).复合赋值运算符等价于下面的效果
比如:a += 3 等价于 a = a + 3
1.基本介绍
2.二进制知识后续有需要的,可以找我索要
3.二进制在运算中的说明
(1).二进制是逢2进位的进位制,0和1是其基本算符
(2).现代电子计算机技术全部采用的是二进制,因为它只有0和1两个数字符号,非常的简单方便,易于用电子方式实现
(3).计算机内部处理的信息,都是采用二进制数来表示的。二进制数用0和1两个数字及其组合来表示任何数。进位规则是”逢2进1“,数字1在不同的位上代表不同的值,按从右至左的次序,这个值是以二倍递增,在计算机的内部,运行各种运算时,都是以二进制的方式来运行。
4.原码、反码、补码
网上对原码、反码和补码的解释过于复杂,总结精简了6句话:
对于有符号的而言:
a.二进制的最高位是符号位:0代表正数 1代表负数
1 -------> [0000 0001] -1---------->[1000 0001]
b.正数的原码、反码和补码都一样
1=====> 原码[0000 0001] 反码[0000 0001]补码[0000 0001]
c.负数的反码=它的原码符号位不变,其它位取反(0—>1 1---->0)
-1=====>原码[1000 0001] 反码[1111 1110]
d.负数的补码=它的反码+1
-1=====>原码[1000 0001] 反码[1111 1110] 补码[1111 1111]
e.0的反码、补码都是0
f.在计算机运算的时候,都是以补码的方式来运算的
1+1 1-1=1+(-1)
5.Golang中有3个位运算符
(1).分类
按位与 &
按位或 |
按位异或 ^
(2).运算规则
按位与 &:两位全为1,结果为1,否则为0
按位或 |:两位有一个为1,结果为1,否则为0
按位异或 ^:两位一个为0,一个为1,结果为1,否则为0
(3)案例练习
a.习题
2&3=?
2|3=?
2^3=?
-2^2=?
b.具体运算步骤
2&3
2的补码:0000 0010
3的补码:0000 0011
2&3 ----> 0000 0010 ------->2
2|3
2的补码:0000 0010
3的补码:0000 0011
2|3 ----> 0000 0011-------->3
2^3
2的补码:0000 0010
3的补码:0000 0011
2^3 ----> 0000 0001-------->1
-2^2
2的原码: 0000 0010 ----> 反码0000 0010 —>补码 0000 0010
-2的原码:1000 0010 ----> 反码1111 1101 —>补码 1111 1110
-2 ^ 2 ------> 补码:1111 1100 反码:1111 1011 原码:1000 0100 ------> -4
6.Golang中有2 个移位运算符
(1).分类和运算规则
(2).案例演示
a := 1 >> 2 // 0000 0001 =>0000 0000 = 0
c := 1 << 2 // 0000 0001 ==> 0000 0100 => 4
1.基本介绍
2.举例说明,在golang中实现三元运算的效果
2.对上图的说明
(1).运算符有不同的优先级,所谓优先级就是表达式运算中的运算顺序,如上图
(2).只有单目运算符、赋值运算符是从右向左运算的
(3).梳理了一个大概的优先级:
a.括号,++,–
b.单目运算
c.算术运算符
d.移位运算符
e.关系运算符
f.位运算符
g.逻辑运算符
h.赋值运算符
i.逗号
1.基本介绍
在编程中,需要接收用户输入的数据,就可以使用键盘输入语句来获取。
2.操作步骤
(1).导入fmt包
(2).调用fmt包的fmt.Scanln()或者是fmt.Scanf()
3.示例代码如下: