百宝云常用运算符语法解析
第一章:基础语法(二)
通过这章的基础介绍,希望大家能够基本上掌握百宝云的语法与使用方法,能够根据自己的需要编写出自己的云服务。这章的知识可能有点无味,但是却是百宝云的基础所在,所以大家还是好好把基础打下,这样才能更好更快的学习后面的知识。
第二节:常用运算符
通过这节课,让大家掌握简单的加减乘除、字符串连接、逻辑运算符。
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 实现。
转载于:https://my.oschina.net/u/2408868/blog/546142
百宝云常用运算符语法解析相关推荐
- 用百宝云搭建一个自己的网络验证系统的过程
为什么选择百宝云搭建网络验证系统,而不是用其他产品就不说了,速度快,难度低,成本低,优势很多,这里我描述一下百宝云搭建一个网络验证系统的过程. 指明一下 百宝云 可以做很多网络系统,这里网络验证系统只 ...
- 正则表达式常用语法解析
正则表达式常用语法解析 什么是正则表达式 正则表达式之元字符 匹配位置的元字符 ^.$./b 匹配字符的元字符 ..\w.\W.\s.\S.\d.\D 正则表达式之文字匹配 字符类 字符转义 反义 正 ...
- 百宝云变量与常量语法教程
第一章:基础语法(一) 通过这章的基础介绍,希望大家能够基本上掌握百宝云的语法与使用方法,能够根据自己的需要编写出自己的云服务.这章的知识可能有点无味,但是却是百宝云的基础所在,所以大家还是好好把基础 ...
- 百宝云语法变量与常量新手教程
第一章:基础语法(一) 通过这章的基础介绍,希望大家能够基本上掌握百宝云的语法与使用方法,能够根据自己的需要编写出自己的云服务.这章的知识可能有点无味,但是却是百宝云的基础所在,所以大家还是好好把基础 ...
- Solr语法解析及SolrJ使用
Solr语法解析及SolrJ使用 标签(空格分隔): Solr 官方指南:http://lucene.apache.org/solr/quickstart.html Solrj 之HttpSolrCl ...
- [免费专栏] Android安全之APK应用程序分析「附带Smali基础语法解析」
也许每个人出生的时候都以为这世界都是为他一个人而存在的,当他发现自己错的时候,他便开始长大 少走了弯路,也就错过了风景,无论如何,感谢经历 Android安全付费专栏长期更新,本篇最新内容请前往: [ ...
- 用 C 语言开发一门编程语言 — 语法解析器
目录 文章目录 目录 前文列表 编程语言的本质 词法分析 语法分析 使用 MPC 解析器组合库 安装 快速入门 实现波兰表达式的语法解析 波兰表达式 正则表达式 代码实现 前文列表 <用 C 语 ...
- NET Core中使用Irony实现自己的查询语言语法解析器
在之前<在ASP.NET Core中使用Apworks快速开发数据服务>一文的评论部分,.NET大神张善友为我提了个建议,可以使用Compile As a Service的Roslyn为语 ...
- calcite连接mysql_使用Calcite做Sql语法解析
Flink SQL中使用Calcite作为sql语法解析.校验.优化工具,本篇是实操篇,介绍一下calcite做sql语法解析使用方式. sql经过calcite解析之后,得到一棵抽象语法树,也就是我 ...
最新文章
- 【转】RelativeLayout和LinearLayout及FrameLayout性能分析
- JZOJ 5397. 【NOIP2017提高A组模拟10.6】Biology
- 均方误差越大越好_超详细 | 如何写好计量经济学实证分析论文?
- 最精美详尽的 HTTPS 原理图
- 【数论】[CF258C]Little elephant and LCM
- 前端学习(670):分支流程控制if
- React函数组件和类组件的区别
- TMS320C55x的指令系统
- ai人工智能最新相关消息_我如何了解最新的AI研究
- 极路由1S HC5661A 刷入不死u-boot(breed)加刷潘多拉固件教程
- ESET NOD32 Antivirus – 免费 3个月/ 3PC
- pandas不显示index_大熊猫 - 不在索引中(pandas - not in index)
- 安卓自定义View进阶-Canvas之图片文字
- 数据库定义语言(DDL)
- 那些年,在Fragment中犯的错
- 正试图在 os 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。
- 【iOS-Cocos2d游戏开发之二】Cocos2D 游戏开发资源贴(教程以及源码)
- swing打地鼠游戏_经典街机游戏中的那些奖励关,为了得高分每次都被游戏厅老板吼...
- 李笑来 css,CSS
- 计算类氦离子基态能级z=1-103从氢到铹
热门文章
- 目录英文linux,Linux系统各个目录的作用(中英文对照)
- 四足机器人不同步态的特点(笔记5/作业5)
- SunOS 操作命令及linux区别
- 我听很多人说JAVA已经过时了,下一个要淘汰的语言就是JAVA,真的是这样吗?
- “互联网+医疗”抢食3万亿医改盛宴
- 2018区块链+电商行业报告:区块链初露锋芒 | 链塔智库
- 4.1. Lexical Structure
- Matlab Simulink 时间戳、采样率、Demux理解
- J - Convert QWERTY to Dvorak
- dfp matlab,MATLAB拟牛顿法之DFP与BFGS算法