解锁所有课程内容,保存学习进度,系统化学习编程
算术运算符就是用来对数字进行计算的符号,就像数学中的加减乘除符号一样。在编程中,算术运算符让我们能够对数字进行各种计算,比如计算游戏分数、角色血量、金币数量等。
编程中的算术运算符和数学课上学到的运算符号完全对应:
* 代替 ×)/ 代替 ÷)重要提示:除了乘号和除号的符号表示不同,其他用法和数学课上学到的完全一样!
加法运算符 + 有三种不同的用法,取决于你加的是什么类型的数据:
当两个数字相加时,+ 执行数学加法运算:
当两个字符串相加时,+ 会把它们连接在一起:
当一个数字和一个字符串相加时,会发生自动类型转换:数字会自动转换为字符串,然后进行拼接:
转换过程说明:
5 自动转换成了字符串 "5""数字:" 和 "5" 拼接成 "数字:5"重要说明:
在编程中,我们经常需要根据变量当前的值来更新它自己。这种模式非常常见:
加法的特点:
减法用来从一个数值中减去另一个数值:
减号 - 除了作为二元运算符用于减法(如 a - b),还可以作为一元运算符使用,用于反转数字的符号。
什么是一元运算符?
5 - 3(减号两边都有数字)-5(减号只有一个数字)当减号 - 作为一元运算符使用时,它会将数字的符号取反(反转符号):
重要理解:
-5 是一元负号运算,将正数 5 反转符号变成 -5-(-5) 是两次一元负号运算,负负得正,结果是正数 5-variable 将变量的符号反转(正数变负数,负数变正数)**重要说明:**编程中使用星号 * 表示乘法,而不是数学课本中的 × 符号。
符号差异:
5 × 2 = 105 * 2 = 10× 符号,用 * 代替**重要说明:**编程中使用斜杠 / 表示除法,而不是数学课本中的 ÷ 符号。
符号差异:
10 ÷ 2 = 510 / 2 = 5÷ 符号,用 / 代替除法结果的重要特点:
10 / 3 = 3.3333333333333335(而不是整数3)取余运算符用来计算除法后的余数。
💡 重要提示:虽然取余运算符
%和数学课上的除号÷外形相似,但它们不是同一个东西。%用于计算余数,而÷用于计算商。取余运算符主要用于两个整数之间的运算。
当两个整数进行取余运算时,结果就是我们数学课上学到的"余数":
数学验证:23 ÷ 5 = 4 ... 余3,所以 23 % 5 = 3
当两个数进行取余运算时,如果余数是0,表示第一个数能被第二个数整除(没有余数)。
什么是"能整除"?
在数学中,我们说"A能被B整除",意思是A除以B后,商是整数,余数是0。
代码示例:
重要理解:
10 % 2 = 0,表示10能被2整除)10 % 3 = 1,表示10不能被3整除)这个概念后面会多次用到。
取余运算符有一个非常实用的功能:提取数字的个位数。
原理:这和数学课上学过的除法完全一样——一个整数除以 10,余数就是个位数。
代码示例:
取余运算符还有一个很实用的功能:判断奇偶数。让我们来看看它是如何工作的:
判断奇偶数的原理
让我们用几个数字来验证:
偶数:能被2整除,余数为0
2 % 2 = 0(2÷2=1,余0)4 % 2 = 0(4÷2=2,余0)6 % 2 = 0(6÷2=3,余0)8 % 2 = 0(8÷2=4,余0)奇数:不能被2整除,余数为1
1 % 2 = 1(1÷2=0,余1)3 % 2 = 1(3÷2=1,余1)5 % 2 = 1(5÷2=2,余1)7 % 2 = 1(7÷2=3,余1)总结规律:
如果参与取余运算的数字不是整数,结果会有所不同:
重要理解:
% 仍然会计算余数,但这个余数也是小数在编程中,我们经常需要对数字进行取整操作。TypeScript 提供了 Math 对象,包含很多实用的数学方法。
什么是 Math 对象?
console.log() 用于在控制台输出信息Math.floor() 和 Math.ceil() 用于处理数字的取整Math 是一个专门处理数学运算的对象Math.floor() 用于获取数字的整数部分(向下取整)。
什么是"取整"? "取整"就是把小数变成整数的过程。比如:
Math.floor() 总是向下取整:
floor 的英文意思是"地板"关键理解:
Math.floor() 只会"向下"取整,不会四舍五入Math.floor(3.7) 得到 3,不是 4Math.floor(9.9) 得到 9,不是 10Math.ceil() 用于获取数字的整数部分(向上取整)。
Math.ceil() 总是向上取整:
ceil 的英文意思是"天花板"(ceiling的缩写)floor 和 ceil 的对比:
💡 注意:这些方法会在后面的课程中经常用到,现在先认识一下,详细用法会在实际应用时讲解。
编程中的运算符优先级和数学课本上完全一样:
优先级顺序(从高到低)
除了基本的运算符,还有一类特殊的运算符叫做复合赋值运算符,它们可以让我们更简洁地修改变量的值。
复合赋值运算符把运算和赋值结合在一起:
+=+= 操作符的限制(字符串相加)+= 操作符在字符串相加时有一个重要限制:只能在现有字符串的右边添加内容。
对于数字运算,+= 没有方向限制,因为 a += b 和 b += a 都可以正常工作。但是对于字符串相加,方向很重要:
重要理解:
+=:只能在右边添加内容 variable += "text"+:可以在左边或右边添加 "text" + variable 或 variable + "text"+=:没有方向限制,a += b 和 b += a 都可以为什么这个限制存在?
+= 是"给自己赋值"的简写:variable = variable + value+= 根据自己的值做更新+= 操作符就是专门用来简化"根据自己当前值做更新"这种模式的。让我们看看它如何改写之前的例子:
+= 的优势:
variable = variable + value 完全一样-=*=/=总分: 5000 剩余血量: 4
任务:修正运算符符号,使用正确的编程运算符。
要求:
× 改为编程中的乘法符号÷ 改为编程中的除法符号💡 提示:
*(星号),不是数学中的 ×/(斜杠),不是数学中的 ÷角色信息:勇者职业:战士,等级:5
任务:使用字符串拼接构造格式清晰的角色信息。
要求:
+ 连接多个字符串,构造完整的描述信息"角色信息:"、"职业:"、",等级:" 等💡 提示:
"文字1" + "文字2" 会连接成 "文字1文字2""文字" + 数字 会将数字自动转换为字符串:和,)平均值: 3
任务:使用括号修正运算顺序,先计算加法再计算除法。
要求:
() 改变运算优先级💡 提示:
相反温度: -5 相反温度: 10
任务:使用一元负号运算符 - 反转变量的符号。
要求:
- 运算符💡 提示:
-variable 将变量的符号反转- 变成负数,负数前面加 - 变成正数需要的袋子数: 4
任务:修正取整方法,计算一共需要多少个袋子才能装完所有苹果。
要求:
💡 提示:
Math.floor(10 / 3) = 3(向下取整,只计算装满的袋子,还剩1个苹果没装)Math.ceil(10 / 3) = 4(向上取整,包含最后一个没装满的袋子)个位数: 7
任务:使用取余运算符提取数字的个位数。
要求:
% 运算符提取个位数💡 提示:
今天我们学习了:
+)、减法(-)、乘法(*)、除法(/)% 用于计算余数,特别适合判断奇偶数+=, -=, *=, /= 让代码更简洁,特别适合根据变量当前值更新自己运算符是编程的基础工具,就像数学中的四则运算一样重要。通过复合赋值运算符,你可以写出更简洁的代码来更新变量值。理解了这些基本运算符,你就为学习条件语句和更复杂的程序逻辑打下了坚实的基础!
掌握了这些运算符,我们就可以开始学习条件语句,让程序根据不同情况做出不同的决定!