第一章:基础语法(二)

通过这章的基础介绍,希望大家能够基本上掌握百宝云的语法与使用方法,能够根据自己的需要编写出自己的云服务。这章的知识可能有点无味,但是却是百宝云的基础所在,所以大家还是好好把基础打下,这样才能更好更快的学习后面的知识。

第二节:常用运算符

通过这节课,让大家掌握简单的加减乘除、字符串连接、逻辑运算符。

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

百宝云常用运算符语法解析相关推荐

  1. 用百宝云搭建一个自己的网络验证系统的过程

    为什么选择百宝云搭建网络验证系统,而不是用其他产品就不说了,速度快,难度低,成本低,优势很多,这里我描述一下百宝云搭建一个网络验证系统的过程. 指明一下 百宝云 可以做很多网络系统,这里网络验证系统只 ...

  2. 正则表达式常用语法解析

    正则表达式常用语法解析 什么是正则表达式 正则表达式之元字符 匹配位置的元字符 ^.$./b 匹配字符的元字符 ..\w.\W.\s.\S.\d.\D 正则表达式之文字匹配 字符类 字符转义 反义 正 ...

  3. 百宝云变量与常量语法教程

    第一章:基础语法(一) 通过这章的基础介绍,希望大家能够基本上掌握百宝云的语法与使用方法,能够根据自己的需要编写出自己的云服务.这章的知识可能有点无味,但是却是百宝云的基础所在,所以大家还是好好把基础 ...

  4. 百宝云语法变量与常量新手教程

    第一章:基础语法(一) 通过这章的基础介绍,希望大家能够基本上掌握百宝云的语法与使用方法,能够根据自己的需要编写出自己的云服务.这章的知识可能有点无味,但是却是百宝云的基础所在,所以大家还是好好把基础 ...

  5. Solr语法解析及SolrJ使用

    Solr语法解析及SolrJ使用 标签(空格分隔): Solr 官方指南:http://lucene.apache.org/solr/quickstart.html Solrj 之HttpSolrCl ...

  6. [免费专栏] Android安全之APK应用程序分析「附带Smali基础语法解析」

    也许每个人出生的时候都以为这世界都是为他一个人而存在的,当他发现自己错的时候,他便开始长大 少走了弯路,也就错过了风景,无论如何,感谢经历 Android安全付费专栏长期更新,本篇最新内容请前往: [ ...

  7. 用 C 语言开发一门编程语言 — 语法解析器

    目录 文章目录 目录 前文列表 编程语言的本质 词法分析 语法分析 使用 MPC 解析器组合库 安装 快速入门 实现波兰表达式的语法解析 波兰表达式 正则表达式 代码实现 前文列表 <用 C 语 ...

  8. NET Core中使用Irony实现自己的查询语言语法解析器

    在之前<在ASP.NET Core中使用Apworks快速开发数据服务>一文的评论部分,.NET大神张善友为我提了个建议,可以使用Compile As a Service的Roslyn为语 ...

  9. calcite连接mysql_使用Calcite做Sql语法解析

    Flink SQL中使用Calcite作为sql语法解析.校验.优化工具,本篇是实操篇,介绍一下calcite做sql语法解析使用方式. sql经过calcite解析之后,得到一棵抽象语法树,也就是我 ...

最新文章

  1. 【转】RelativeLayout和LinearLayout及FrameLayout性能分析
  2. JZOJ 5397. 【NOIP2017提高A组模拟10.6】Biology
  3. 均方误差越大越好_超详细 | 如何写好计量经济学实证分析论文?
  4. 最精美详尽的 HTTPS 原理图
  5. 【数论】[CF258C]Little elephant and LCM
  6. 前端学习(670):分支流程控制if
  7. React函数组件和类组件的区别
  8. TMS320C55x的指令系统
  9. ai人工智能最新相关消息_我如何了解最新的AI研究
  10. 极路由1S HC5661A 刷入不死u-boot(breed)加刷潘多拉固件教程
  11. ESET NOD32 Antivirus – 免费 3个月/ 3PC
  12. pandas不显示index_大熊猫 - 不在索引中(pandas - not in index)
  13. 安卓自定义View进阶-Canvas之图片文字
  14. 数据库定义语言(DDL)
  15. 那些年,在Fragment中犯的错
  16. 正试图在 os 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。
  17. 【iOS-Cocos2d游戏开发之二】Cocos2D 游戏开发资源贴(教程以及源码)
  18. swing打地鼠游戏_经典街机游戏中的那些奖励关,为了得高分每次都被游戏厅老板吼...
  19. 李笑来 css,CSS
  20. 计算类氦离子基态能级z=1-103从氢到铹

热门文章

  1. 目录英文linux,Linux系统各个目录的作用(中英文对照)
  2. 四足机器人不同步态的特点(笔记5/作业5)
  3. SunOS 操作命令及linux区别
  4. 我听很多人说JAVA已经过时了,下一个要淘汰的语言就是JAVA,真的是这样吗?
  5. “互联网+医疗”抢食3万亿医改盛宴
  6. 2018区块链+电商行业报告:区块链初露锋芒 | 链塔智库
  7. 4.1. Lexical Structure
  8. Matlab Simulink 时间戳、采样率、Demux理解
  9. J - Convert QWERTY to Dvorak
  10. dfp matlab,MATLAB拟牛顿法之DFP与BFGS算法