变量
什么是变量?
变量是轻语言程序在运行时用于存储数据的基本单元,变量类似一个容器,可以用来存放程序运行过程中需要使用的各种数据值,每个变量都有一个名字(标识符)和一个数据类型,用于指定变量可以存储的数据种类。
变量的作用
-
存储数据:变量用于存储程序运行时的数据,例如用户输入、计算结果等。
-
提高代码可读性:通过给变量起一个有意义的名称,可以让代码更容易理解。
-
复用数据:变量可以多次使用,避免重复计算或重复输入相同的数据。
-
动态修改数据:变量的值可以在程序运行过程中被修改。
如何使用变量?
在轻语言中,使用变量通常分为以下三个步骤:
1.声明变量
声明变量时通过关键字“变量”定义;后跟名称和类型,或名称和初始值;声明变量的语法为:
' 显示指定变量的数据类型
变量 变量名称 为 数据类型
' 通过初始值、在编译时由编译器推断类型
变量 变量名称 = 初始值
示例:
变量 A 为 文本型
变量 a 为 文本型
变量 网址URL 为 文本型
变量 x,y 为 整数型
变量 c = "文本类型变量"
变量 d = 100 ' 整数型
2.初始化或修改变量值
当声明变量后、可以同时为变量设置一个初始化值,也可以在其它地方初始化修改变量值。
示例:
变量 m 为 文本型 = "vcnstudio"
变量 pi 为 双精度小数 = 3.14159
变量 url = "http://www.vcnstudio.com"
变量 an1 = 创建 按钮()
变量 x1,y1 = 0
' 通过设置初始值定义变量类型
变量 a = "文本类型变量"
变量 b = 100 ' 整数型
变量 c = 真 ' 逻辑型
变量 d = 1000L ' 长整数
变量 e = 1.5 ' 双精度小数
变量 f = 1.2f ' 单精度小数
变量 g = 创建 按钮() ' 按钮对象
变量 h = 取随机数(10,20) ' h为函数返回值、整数型
示例:
' 定义变量、但不设置初始值
变量 变量1 为 文本型
变量 年龄 为 整数型
事件 窗口创建完毕()
' 在窗口创建完毕或程序被启动时为变量设置初始值
变量1 = "变量1的初始值"
年龄 = 29
结束 事件
示例(修改变量):
事件 按钮1.被单击(来源对象 为 视图)
' 当点击按钮1时、变量1 的值将变成:按钮1被单击
变量1 = "按钮1被单击"
' 当点击按钮1时、变量1 的值将变成 30
年龄 = 30
结束 事件
3.使用变量
当变量初始化或被设置有数据值时,我们可以在程序中使用它;例如读取变量中储存的值。
示例:
事件 按钮2.被单击(来源对象 为 视图)
' 当点击按钮2时、将 变量1 储存的数据值显示到窗口标签中
标签1.标题 = 变量1
' 当点击按钮2时,调试输出变量 年龄 储存的值,这里需要注意:
' 由于 年龄 这个变量定义的数据类型为 整数型 因此在需要文本值的地方
' 我们需要先将其转换成文本类型
调试输出("变量 年龄 储存的值为:" + 到文本(年龄))
结束 事件
变量的命名规则
-
变量名必须以字母、下划线 (
_
) 或中文开头。 -
变量名不能以数字开头。
-
变量名不能是轻语言中的关键字(如
整数型
、如果
等)。 -
变量名区分大小写、A 与 a 是两个不同的变量标识符。
-
变量名中不能含有任何操作符号、运算符号、或标点符号。
变量的作用域
变量的作用域是指变量在程序中可以被访问、使用的范围。根据声明位置的不同,变量的作用域分为以下几种:
1.局部变量
在函数、事件、或某个语句块中定义的变量,作用域仅限于在该区域内使用。例如:
函数 打印年龄数据()
' 局部变量、只能在该函数中使用
变量 年龄 = 25
调试输出(年龄)
结束 函数
2.类成员变量
在窗口、模块中但在函数、事件外的区域定义的变量,该变量与函数、事件属于同一层级;可以在整个窗口或模块中使用。例如:
' 与事件、函数同一级别的变量、可以在本窗口中任意地方使用
变量 变量1 为 文本型
变量 年龄 为 整数型
事件 窗口创建完毕()
' 在窗口创建完毕或程序被启动时为变量设置初始值
变量1 = "变量1的初始值"
年龄 = 29
结束 事件
事件 按钮1.被单击(来源对象 为 视图)
调试输出("变量1 " + 变量1)
调试输出("年龄 " + 到文本(年龄))
结束 事件
3.全局静态变量
使用“静态”关键字修饰的变量,作用域是整个程序;可在整个程序中不同的窗口或文件中使用。例如:
' 应用的全局变量、可在整个程序的窗口或其它模块中使用
变量 静态 全局标记 为 文本型 = "http://www.vcnstudio.com"
使用示例:
事件 按钮1.被单击(来源对象 为 视图)
' 静态模块1 可在程序集中新建文件、选择 静态模块 创建
调试输出("全局变量:" + 静态模块1.全局标记)
结束 事件
注意事项
同一个作用域中不能含有两个相同名称的变量。