数据类型

什么是数据类型?

数据类型是一种表示不同数据格式的基本概念,在编程中用于表示数据的种类,不同的数据种类决定了在内存中不同的储存方式以及对应可执行的操作。

例如:数字 12、100、200 ... 表示10 进制整数值、这些值可以在程序中执行加减乘除的运算、而小数 1.2、1.5、3.1414 ... 表示小数值、这些值与整数一样;也可以进行加减乘除的运算操作。

但:"信息提示"、"请输入内容"、"用户名" ... 像这样的字符串的文本内容;在程序中一般表示文本型数据、而文本类型的数据无法像整数那样加减乘除。

而在一个程序(软件)中、不仅可能包含了整数值、小数值、文本字符串这些不同格式的数据,同时还有可能包含其它数据格式值,例如:真、假、自定义数据类型 等等。

轻语言支持哪些数据类型?

在轻语言中;一共支持 7 种基本数据类型和 2 种基础引用类型。

整数型(int)

  • 32位有符号整数类型
  • 最小值:-2,147,483,648(-2^31)
  • 最大值:2,147,483,647(2^31 - 1)
  • 默认:0
  • 例如:变量 a 为 整数型 = 10

短整数(short)

  • 16位有符号整数类型
  • 最小值:-32768(-2^15)
  • 最大值:32767(2^15 - 1)
  • 默认:0
  • 例如:变量 a 为 短整数 = 10

字节型(byte)

  • 8位有符号整数类型
  • 最小值:-128(-2^7)
  • 最大值:127(2^7-1)
  • 默认:0
  • 例如:变量 a 为 字节型 = 10

长整数(long)

  • 64位有符号整数类型
  • 最小值:-9,223,372,036,854,775,808(-2^63)
  • 最大值:9,223,372,036,854,775,807(2^63 -1)
  • 默认:0L
  • 例如:变量 a 为 长整数 = 10L
  • 说明:这种类型主要用在需要较大整数的系统上。

单精度小数(float)

  • 32位符合IEEE754标准的小数
  • 默认:0.0f
  • 例如:变量 a 为 单精度小数 = 1.2f

双精度小数(double)

  • 64 位、符合 IEEE 754 标准的浮点数
  • 默认:0.0
  • 例如:变量 a 为 双精度小数 = 1.2
  • 说明:默认代码中的小数为双精度小数类型

逻辑型(boolean)

  • 表示一位的信息、真或假
  • 默认:假
  • 例如:变量 a 为 逻辑型

文本型(String)

  • 由双引号包裹的字符串文本数据
  • 默认:空 null
  • 例子:变量 url 为 文本型 = "http://www.vcnstudio.com"

对象

  • 所有引用类型及自定义类型都继承自该类。
  • 默认:空
  • 例如:变量 模块1 为 对象

数据类型之间的转换

不同的数据类型之间可以相互转换,例如最常见的将一个整数转成文本字符串、或将一个文本字符串转成整数。

在轻语言中;不同的基础数据类型之间的值可以通过内置的相关转换函数来转换;例如:到整数、到小数等等。

而针对非基础数据类型的自定义数据类型值,在转换时需统一使用转换语法进行转换,转换语法的格式为:

变量 目标值 = (目标类型)待转换的值

' 例如 将一个整数值转成文本信息
变量 文本值1 = (文本型)100
' 但在实际运用中、通过语法强转的方式可以帮助我们更灵活的编程
' 例如下方代码:
' 当我们点击按钮1时、调用自定义函数修改传入的组件宽度与高度值。
事件 按钮1.被单击(来源对象 为 视图)
    修改组件尺寸(按钮1,100,100)
    修改组件尺寸(标签1,50,50)
结束 事件

' 在该自定义函数中、第一个参数值类型为:“对象”类型、该类型是轻舟中所有自定义数据类型的基类
' 当声明函数参数为“对象”类型时;这个参数值可以为任意非基础数据类型值;而这里我们传入的参数
' 值为按钮1、标签1,都为窗口中的可视组件;而所有可视组件都为视图类,因此我们可以先使用关键字:
' “类属”判断传入的参数值是否为可视组件、如果是,再转换成视图对象值、再调用所有可视组件都拥有
' 的宽高属性设置其值。
函数 修改组件尺寸(待修改组件 为 对象,宽度 为 整数型,高度 为 整数型)
    如果(待修改组件 类属 视图)
        变量 目标组件 = (视图)待修改组件
        目标组件.宽度 = 宽度
        目标组件.高度 = 高度
    否则
        弹出提示("目标组件不属于视图类组件;无法设置尺寸")
    结束
结束 函数

注:基础数据类型不能转换成对象、也不能与对象类型的数据互相转换

特殊的文本类型

文本类型的数据是一种特殊的数据类型,任何非文本数据值如果与文本字符串相加都会默认转成文本型。

示例:

变量 文本1 = "整数1的值:" + 100
调试输出(文本1) ' 将输出 整数1的值:100