第一章:基础语法(二)
第二节:常用运算符
通过这节课,让大家掌握简单的加减乘除、字符串连接、逻辑运算符。
2.1 概念
百宝云里支持了丰富的运算符,同时,运算符的优先级影响着整个功能的执行流程(百宝云中,运算符不支持短路运算)。
注意: 优先级代表同一表达式中运算符的运算顺序,从高到低!同一级别的按从左到右的原则运算。
下图的优先级是从高到低排列的:
优先级 | 运算符 | 名称或含义 | 使用形式与说明 |
1 | [ ] | 数组下标 | 数组名[常量表达式] |
( ) | 圆括号 | (表达式)/函数名(形参表) | |
2 | - | 负号运算符 | -表达式 -10+20 |
++ | 自增运算符 | 变量名++,是 变量名=变量名+1 | |
-- | 自减运算符 | 变量名--,是 变量名=变量名-1 | |
! | 逻辑非运算符 | !表达式 | |
3 | / | 除 | 表达式/表达式 |
* | 乘 | 表达式*表达式 | |
% | 余数(取模) | 整型表达式%整型表达式,%两边必须为整型值 | |
4 | & | 字符串连接符 | 表达式&表达式 |
+ | 加 | 表达式+表达式 | |
- | 减 | 表达式-表达式 | |
5 | > | 大于 | 表达式>表达式 |
>= | 大于等于 | 表达式>=表达式 | |
< | 小于 | 表达式<表达式 | |
<= | 小于等于 | 表达式<=表达式 | |
6 | == | 等于 | 表达式==表达式 |
!= | 不等于 | 表达式!= 表达式 | |
7 | && | 逻辑与 | 表达式&&表达式 |
8 | || | 逻辑或 | 表达式||表达式 |
9 | = | 赋值运算符 | 变量=表达式 |
10 | , | 逗号运算符 | 表达式,表达式, |
2.2 加减乘除,运算符规则
整+整 = 整 | 整+浮 = 浮 | 浮+整 = 浮
整-整 = 整 | 整-浮 = 浮 | 浮-整 = 浮
整*整 = 整 | 整*浮 = 浮 | 浮*整 = 浮
整/整 = 整 | 整/浮 = 浮 | 浮/整 = 浮
由于计算最基本规则中浮点型的优先级要比整型要高,所以当整型与浮点型进行运算之后,得到的结果将会是浮点型的,整型与整型运算得到结果将会是整型
例如下面的代码:
功能 运算符测试()
变量 数据1 = 10, 数据2 = 100, 数据3 = 3.1415926, 数据4 = "Abin"
变量 结果1 = 数据1 + 数据3 // 结果为: 13.1415926
变量 结果2 = 数据1 - 数据2 // 结果为: -90
变量 结果3 = 数据1 * 数据2 // 结果为: 1000
变量 结果4 = 数据1 / 数据2 // 结果为: 0 不要以为得到的结果是0.1
变量 结果5 = 数据4 & 数据2 // 结果为: Abin100
变量 结果6 = 数据1 + 数据2 * 数据3 // 结果为: 324.159260
变量 结果7 = (数据1 + 数据2) * 数据3 // 结果为: 345.575186
结束
2.3 逻辑与运算符详解(&&)
当多个表达式进行"&&"(逻辑与)运算时,只要有一个表达式为假,总的表达式结果就为假;只有当所有表达式都为真时,总的表达式结果才为真。如:
变量 结果 = (7<8) && (3==3) //7小于8返回真,3等于3返回真,两边都为真,返回真
变量 结果 = (10<8) && (3==3) //10小于8返回假,3等于3返回真,一边为假,返回假
2.4 逻辑或运算符详解(||)
当多个表达式进行"||"(逻辑或)运算时,只要有一个表达式为真,总的表达式结果就为真;只有当所有表达式都为假时,总的表达式结果才为假。如:
变量 结果 = (7<8) || (3==3) //7小于8返回真,3等于3返回真,两边都为真,返回真
变量 结果 = (7<8) || (4==3) //7小于8返回真,4等于3返回假,一边为真,返回真
变量 结果 = (10<8) || (4==3) //10小于8返回假,4等于3返回假,两边都为假,返回假
2.5 逻辑非运算符详解(!)
当多个表达式进行"!"(逻辑非)运算时,取表达式结果相反的真/假值。若原先为假,则逻辑非以后为真,若原先为真,则逻辑非以后为假。如:
变量 结果 = !(3<2) //先计算括号里的小于操作符,3小于2返回假,在计算逻辑非操作,返回真
变量 结果 = !(3>2) //先计算括号里的大于操作符,3大于2返回真,在计算逻辑非操作,返回假
2.6 转义字符
字符串取值没什么限制,在引号""中可以填:数字、中文、字母 、特殊字符、以及他们的组合,字符串的值都要用双引号扩起来,比如 "我是字符型",当然,有人会问,如果字符串要带 " 号,怎么处理,难道是 """ ,不是的,这样编译会语法报错。百宝云会把前面两个""看成一个字符串,后面那个",就语法报错,这个时候就需要转义字符了,下面我们介绍一下百宝去支持的转义字符。
假如我们要表示 """ 这样是错的,应该这样写 "\"",这样就是表示了一个字符串,里面的值就只有一个 "。
百宝云中的转义字符:
转义字符 | 描述 |
\" | 代表一个双引号 "_\"ABC\"_\"EFG\"_",用 发送文本消息 输出结果: _"ABC"_"EFG"_ |
\\ | 代表一个反斜杠 "\\tc",用 发送文本消息 输出结果: \tc |
\n | 回车符 "123\n456",用 发送文本消息 输出结果: 123 456 |
\r | 换行符 "123\r456",用 发送文本消息 输出结果: 123 456 |
\t | 转义制表符(类似按了tab键) "123\t456",用 发送文本消息 输出结果: 123 456 |
注意:
在一些场景下,如果\n或者\r都无法实现换行时,则组合使用 \r\n 实现。